System and Method for Adding Funds to a Prepaid Account for a Mobile Device Associated with Multiple Communication Profiles

ABSTRACT

A communication management system receives, from a local cellular network operator, a communication indicating that a payment has been made to the local cellular network operator for a mobile device using a local communication profile. The communication management system identifies, based on the local communication profile, a home communication profile of the mobile device. The home communication profile is associated with a home cellular network operator that is distinct from the local cellular network operator. The communication management system sends, to the home cellular network operator, a request to add funds to a prepaid account that is associated with the home communication profile of the mobile device.

RELATED APPLICATIONS

This application is a continuation of prior application Ser. No.12/774,620, filed May 5, 2010, which is a continuation of PCTInternational Application No. PCT/US/2010/032759, filed Apr. 28, 2010,entitled “System and Method for Dynamically Providing CommunicationProfiles for Mobile Devices.” The entirety of each of the foregoingapplications is incorporated by reference herein.

This application is related to U.S. patent application Ser. No.12/774,590, filed May 5, 2012, entitled “System and Method forDynamically Providing Communication Profiles for Mobile Devices,” whichapplication is incorporated by reference herein in its entirety.

This application is related to U.S. patent application Ser. No.12/774,605, filed May 5, 2012, entitled “System and Method for RoutingSignals Using Network-Specific Identifiers for a Common Server Module,”which application is incorporated by reference herein in its entirety.

This application is related to U.S. patent application Ser. No.12/774,611, filed May 5, 2012, entitled “System and Method for Routing aCall to a Mobile Device Associated with Multiple CommunicationProfiles,” which application is incorporated by reference herein in itsentirety.

This application is related to U.S. patent application Ser. No.12/774,629, filed May 5, 2012, entitled “System and Method for Routing aMessage to a Mobile Device Associated with Multiple CommunicationProfiles,” which application is incorporated by reference herein in itsentirety.

TECHNICAL FIELD

The disclosed embodiments relate generally to systems and methods forproviding mobile communication services. More specifically, theembodiments relate to dynamically switching between communicationprofiles on a mobile device so as to provide mobile communicationservices, and in particular mobile telephone services, to subscribers ata reduced cost.

BACKGROUND

Mobile devices such as mobile phones, PDAs, and smartphones are becomingincreasingly ubiquitous. Subscribers need their mobile devices to befunctional in a wide variety of locations including their place of work,their residence, and domestic travel destinations as well asinternational travel destinations. Typically, a home cellular networkoperator provides wireless communication services to the mobile devicesof its subscribers over a home cellular network and has arrangementswith other cellular network operators to provide access to the othercellular network operators' cellular communication networks viainter-network roaming agreements. However, the terms of theseinter-network roaming agreements have a number of drawbacks, the biggestof which is the cost. Roaming subscribers making calls or sendingmessages are typically charged significantly more than subscribers ofthe local cellular network operator making the same actions. Similarly,high costs are also incurred by other callers in the roaming countryattempting to call the mobile device of the roaming subscriber, as thecallers must use the home phone number associated with the home cellularnetwork operator to reach the mobile device, thereby incurringlong-distance international phone charges.

As a result, many subscribers buy local prepaid mobile service plansfrom local cellular network operators for use when communicating whileoutside of the cellular network operated by their home cellular networkoperator, instead of using the roaming services provided by their homecellular network operator. As a preliminary matter, the logistics ofacquiring separate subscriber identity module (SIM) cards and/or mobiledevices for each country to which the subscriber plans to travel isburdensome and complicated. Moreover, while the subscriber is able tocircumvent the high cost of roaming phone calls by switching betweendifferent SIM cards or different mobile device, such switchingdisconnects the subscriber from communications that are sent to theirhome cellular network operator.

In other words, in exchange for cheaper local calls, the subscriberloses the ability to make and receive communications using theirexisting account with their home cellular network operator, therebymaking it difficult to communicate with friends and family who use thesubscribers regular phone number that is associated with thesubscriber's home cellular network operator to communicate with thesubscriber. This behavior by subscribers also has negative consequencesfor network operators. In particular, when a subscriber switches SIMcards or mobile devices, the home cellular network operator loses thechance to provide services to that subscriber, resulting in lost revenuefor the home cellular network operator. Additionally, switching SIMcards or mobile devices also limits the ability of the subscriber toremain connected with contacts in foreign countries that the user was incommunication with using a local SIM card or local mobile device. Inparticular, when the subscriber switches back from the local SIM card orlocal mobile device to the home mobile device or home SIM card, thesubscriber is unable to receive calls or messages that are directedtowards the local SIM card or local mobile device, because the local SIMcard and/or the local mobile device are no longer connected to acellular network operator.

Other problems are faced by subscribers who want to use a mobile devicethat was using funds from a prepaid account. Prepaid service plans areincreasingly popular, however, a prepaid subscriber who travels to ageographic location where the home cellular network operator does nothave any infrastructure for adding funds (topping-up) the prepaidaccount may be faced with a shortage of funds in the prepaid account andno way to add additional funds. Moreover, prepaid vouchers are typicallydenominated in local currency, which further complicates adding funds toa prepaid account with the subscriber's home network operator whichtypically accepts the subscriber's home currency. If a prepaidsubscriber merely switches mobile devices or SIM cards to a local mobiledevice associated with a local cellular network operator, the funds paidto the subscriber's home cellular network operator are unusable.Similarly, when the prepaid subscriber returns to the home cellularnetwork operator any unused prepaid funds that were paid to the localcellular network operator are likewise unusable. This can result insubstantial unusable funds.

SUMMARY

In light of the above, it is highly desirable to provide a system andmethod for addressing the above mentioned drawbacks. The system andmethod described herein allows travelers to seamlessly transition from ahome cellular network operator to one or more local cellular networkoperators. In particular, the system and method herein allows the mobiledevice to receive communications at a home phone number while outside ofthe home cellular network operator's network and to receivecommunications at a local (roaming) phone number when the device isconnected to the home cellular network operator's network. The system ischeaper, more efficient, and more convenient for subscribers than theoptions currently available to mobile communication (e.g., mobiletelephone) subscribers.

The described embodiments also provide a system and method forseamlessly transitioning a mobile device from one cellular networkoperator to another cellular network operator through over-the-airprovisioning of communication profiles, and call and message routinglogic that enables a single mobile device to receive calls and messagesdirected to multiple different communication profiles, even though themobile device may only be actively using a single one of those multiplecommunication profiles at any given time. The described embodiments alsoprovide a system and method for managing a single central prepaidaccount where funds from the central prepaid account can be accessed bythe mobile device using any of the multiple communication profiles, andwhere funds can be added to the central prepaid account using localpayment protocols associated with local cellular network operators.

In one aspect of the invention, a method of dynamically receiving alocal communication profile at a mobile device is performed, the methodcomprising: at a mobile device having one or more processors and memory,the memory storing a plurality of communication profiles comprising oneor more local communication profiles and a global communication profile,determining local access requirements for connecting to a local cellularnetwork operator are, determining whether the plurality of communicationprofiles comprises a local communication profile that satisfies thelocal access requirements. When the plurality of communication profilesdoes not comprise a local communication profile that satisfies the localaccess requirements the method further comprises connecting to a globalcellular network operator using the global communication profile,receiving, from the global cellular network operator, a new localcommunication profile that satisfies the local access requirements;connecting to the local cellular network operator using the new localcommunication profile; and communicating with another device via thelocal cellular network operator as if the mobile device was a localmobile device. In some embodiments instructions for performing theoperations described above are stored in a computer readable storagemedium of the mobile device for execution by one or more processors ofthe mobile device. In some embodiments, the mobile device has one ormore processors, memory, and one or more programs having instructionsfor performing the operations described above, wherein the one or moreprograms are stored in the memory and configured to be executed by theone or more processors so as to perform the instructions.

In another aspect of the invention, a method for dynamically providing alocal communication profile to a mobile device is performed, the methodcomprising: at a communication management system having one or moreprocessors and memory: receiving, from a global cellular networkoperator, a request to connect a mobile device to the global cellularnetwork operator using a global communication profile; enabling themobile device to connect to the global cellular network operator;sending, to the mobile device, via the global cellular network operator,a local communication profile that enables the mobile device to obtainaccess to a local cellular network operator. The method furthercomprises receiving, from the local cellular network operator, a requestto connect the mobile device to the local cellular network operatorusing the local communication profile; and enabling the mobile device toconnect to the local cellular network operator. In some embodimentsinstructions for performing the operations described above are stored ina computer readable storage medium of the communication managementsystem for execution by one or more processors of the communicationmanagement system. In some embodiments, the communication managementsystem has one or more processors, memory, and one or more programshaving instructions for performing the operations described above,wherein the one or more programs are stored in the memory and configuredto be executed by the one or more processors so as to perform theinstructions.

In another aspect of the invention, a method for routing messages in acellular network using network-specific addressing schemes, the methodcomprising: providing a communication management system comprising aserver module and a signal routing gateway that is connected to aplurality of different cellular network operators; at the signal routinggateway: receiving a first request from a first cellular networkoperator of the plurality of cellular network operators. The firstrequest is addressed to a first network-specific address assigned to theserver module in accordance with a first addressing scheme of the firstcellular network operator. The method further comprises, in response tothe first request: replacing the first network-specific address with aninternal address assigned to the server module in accordance with aninternal addressing scheme of the communication management system;obtaining from the server module a first response to the first request,wherein the first response is addressed from the internal address;replacing the internal address with the first network-specific address;sending the first response to the first cellular network operator. Themethod further comprises receiving a second request from a secondcellular network operator of the plurality of cellular networkoperators. The second cellular network is distinct from the firstcellular network and the second request is addressed to a secondnetwork-specific address assigned to the server module in accordancewith a second addressing scheme of the second cellular network operator.The method further comprises, in response to the second request:replacing the second network-specific address with the internal address;obtaining from the server module a second response to the secondrequest, wherein the second response is addressed from the internaladdress; replacing the internal address with the second network-specificaddress; and sending the second response to the second cellular networkoperator. In some embodiments instructions for performing the operationsdescribed above are stored in a computer readable storage medium of thecommunication management system for execution by one or more processorsof the communication management system. In some embodiments, thecommunication management system has one or more processors, memory, andone or more programs having instructions for performing the operationsdescribed above, wherein the one or more programs are stored in thememory and configured to be executed by the one or more processors so asto perform the instructions.

In another aspect of the invention, a method for providing routinginformation to a first cellular network operator for an incoming call:at a communication management system having one or more processors andmemory: receiving, from a first cellular network operator, a request forrouting information associated with a first communication profile of amobile device; identifying, based on the first communication profile, asecond communication profile that is an active communication profile forthe mobile device. The second communication profile is associated with asecond cellular network operator. The method further comprisesdetermining routing information associated with the second communicationprofile; and sending, to the first cellular network operator, a replycomprising the routing information associated with the secondcommunication profile. In some embodiments instructions for performingthe operations described above are stored in a computer readable storagemedium of the communication management system for execution by one ormore processors of the communication management system. In someembodiments, the communication management system has one or moreprocessors, memory, and one or more programs having instructions forperforming the operations described above, wherein the one or moreprograms are stored in the memory and configured to be executed by theone or more processors so as to perform the instructions.

In another aspect of the invention, a method for providing routinginformation for a mobile device to a cellular network operator throughan emulated device register, the method comprising: at a communicationmanagement system having one or more processors and memory: registeringa mobile device for connection to a first cellular network operator,wherein the mobile device was previously connected to a second cellularnetwork operator; sending to the second cellular network operator, anotification that indicates the presence of an emulated device registerwith which the mobile device is connected. The emulated device registerappears, to the second cellular network operator, to be a native deviceregister associated with the second cellular network operator. Themethod further comprises receiving, at the emulated device register,from the second cellular network operator, a request for routinginformation for the mobile device; and in response to the request:determining routing information for the mobile device; and providing, tothe second cellular network operator, the routing information for themobile device so as to enable the second cellular network operator tocommunicate with the mobile device. In some embodiments instructions forperforming the operations described above are stored in a computerreadable storage medium of the communication management system forexecution by one or more processors of the communication managementsystem. In some embodiments, the communication management system has oneor more processors, memory, and one or more programs having instructionsfor performing the operations described above, wherein the one or moreprograms are stored in the memory and configured to be executed by theone or more processors so as to perform the instructions.

In another aspect of the invention, a method for routing a message froma cellular network operator to a mobile device, the method comprising:at a communication management system having one or more processors andmemory: receiving, from a first cellular network operator, a request forrouting information for a message that is addressed to a mobile deviceusing a first communication profile. When the communication managementsystem determines that the mobile device is connected to a secondcellular network operator using a second communication profile, thecommunication management system responds to the request by: requesting,from the first cellular network operator, delivery of the message to thecommunication management system; receiving the message from the firstcellular network operator; and sending the message to the secondcellular network operator. The message is addressed to the mobile deviceusing the second communication profile. In some embodiments,instructions for performing the operations described above are stored ina computer readable storage medium of the communication managementsystem for execution by one or more processors of the communicationmanagement system. In some embodiments, the communication managementsystem has one or more processors, memory, and one or more programshaving instructions for performing the operations described above,wherein the one or more programs are stored in the memory and configuredto be executed by the one or more processors so as to perform theinstructions.

In another aspect of the invention, a method for managing a message thatis forwarded from a cellular network operator, the method comprising: ata communication management system having one or more processors andmemory, wherein the communication management system manages a pluralityof communication profiles for a mobile device: receiving, from a homecellular network operator, a forwarded message addressed to a mobiledevice using a home communication profile for the mobile device; whenthe communication management system determines that the mobile device isactively using a respective local communication profile of the pluralityof communication profiles, sending the message to the mobile deviceusing the local communication profile; and when the communicationmanagement system determines that the mobile device is not activelyusing any of the plurality of communication profiles for the mobiledevice, notifying the home cellular network operator that the forwardedmessage will not be sent to the mobile device. In some embodiments,instructions for performing the operations described above are stored ina computer readable storage medium of the communication managementsystem for execution by one or more processors of the communicationmanagement system. In some embodiments, the communication managementsystem has one or more processors, memory, and one or more programshaving instructions for performing the operations described above,wherein the one or more programs are stored in the memory and configuredto be executed by the one or more processors so as to perform theinstructions.

In another aspect of the invention, a method for adding funds to aprepaid account at a home cellular network operator of a mobile devicecomprising: at a communication management system having one or moreprocessors and memory: receiving, from a local cellular networkoperator, a communication indicating that a payment has been made to thelocal cellular network operator for a mobile device using a localcommunication profile; identifying, based on the local communicationprofile, a home communication profile of the mobile device. The homecommunication profile is associated with a home cellular networkoperator that is distinct from the local cellular network operator. Themethod further comprises sending, to the home cellular network operator,a request to add funds to a prepaid account that is associated with thehome communication profile of the mobile device. In some embodiments,instructions for performing the operations described above are stored ina computer readable storage medium of the communication managementsystem for execution by one or more processors of the communicationmanagement system. In some embodiments, the communication managementsystem has one or more processors, memory, and one or more programshaving instructions for performing the operations described above,wherein the one or more programs are stored in the memory and configuredto be executed by the one or more processors so as to perform theinstructions.

Thus, the system and methods described herein improve the efficiency,convenience and cost of using a mobile device on cellular networksoperated by multiple different cellular network operators by dynamicallyprovisioning communication profiles to the mobile device and seamlesslytransitioning the mobile device from one cellular network operator toanother. Moreover, the disclosed system and methods provide improvedcommunication routing logic, which enables the mobile device to receivecalls and messages from multiple cellular network operators, therebyminimizing the adverse consequences (e.g., missed calls and missedmessages) that are attendant with switching between communicationprofiles for different cellular network operators. Finally, thedisclosed system and methods enable prepaid subscribers to use localpayment protocols to add funds to a central prepaid account, therebymitigating or eliminating the problems faced by prepaid subscribers whenswitching between different cellular network operators.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of the aforementioned embodiments of theinvention as well as additional embodiments thereof, reference should bemade to the Description of Embodiments below.

FIG. 1A is a block diagram illustrating an overview of a system fordynamically provisioning local communication profiles, in accordancewith some embodiments.

FIG. 1B is a block diagram illustrating an overview of a typicalcellular network operator in accordance with some embodiments.

FIG. 1C is a block diagram illustrating an overview of a global cellularnetwork operator in accordance with some embodiments.

FIG. 1D is a block diagram illustrating the operation of a signalrouting gateway for routing communications between multiple cellularnetwork operators and server modules within a communication managementsystem, in accordance with some embodiments.

FIG. 2 is a block diagram of a mobile device, in accordance with someembodiments.

FIG. 3 is a block diagram of a communication management system, inaccordance with some embodiments.

FIG. 4 is a block diagram representing a data structure for storingregistration information for subscribers in accordance with someembodiments.

FIGS. 5A-5D are flow diagrams illustrating a process for dynamicallyproviding communication profiles to a mobile device in accordance withsome embodiments.

FIGS. 6A-6B are flow diagrams illustrating a process for routing signalsusing network-specific identifiers for a common server module inaccordance with some embodiments.

FIGS. 7A-7D are flow diagrams illustrating a process for routing a callto a mobile device associated with multiple communication profiles usinga communication management system in accordance with some embodiments.

FIGS. 8A-8B are flow diagrams illustrating a process for routing a callto a mobile device associated with multiple communication profiles usingan emulated device register in accordance with some embodiments.

FIGS. 9A-9C are flow diagrams illustrating a process for routing amessage to a mobile device associated with multiple communicationprofiles by replacing communication profile information in the messagein accordance with some embodiments.

FIGS. 10A-10B are flow diagrams illustrating a process for routing amessage to a mobile device associated with multiple communicationprofiles by managing forwarded messages in accordance with someembodiments.

FIGS. 11A-11D are flow diagrams illustrating a process for adding fundsto a prepaid account for a mobile device associated with multiplecommunication profiles in accordance with some embodiments.

Like reference numerals refer to corresponding parts throughout thedrawings.

DESCRIPTION OF EMBODIMENTS

Attention is now directed to FIG. 1A, which illustrates an overview of adistributed system 100 for processing phone calls and dynamicallyswitching communication profiles in accordance with some embodiments.The distributed system 100 includes a mobile device 102, a plurality ofcellular network operators (e.g., home cellular network operator 104, aglobal cellular network operator 106 and/or one or more local cellularnetwork operators 108-1, 108-N, etc.), a communication management system110, and a payload transmitter server 112. In this distributed system100 the mobile device 102 is capable of being configured to connect to aplurality of cellular telephone network operators (e.g., home cellularnetwork operator 104, a global cellular network operator 106 and/or oneor more local cellular network operators 108-1, 108-N, etc.), and thecellular network operators are linked to the communication managementsystem 110 and the payload transmitter server 112 through acommunication network 114 (e.g., the Internet, other wide area networks,local area network, etc.) so that these components can communicate witheach other. Typically, communications are transmitted using a SignalingSystem Seven (SS7) protocol or other similar standard signalingprotocol. However, in some embodiments various communications aretransmitted using other protocols (e.g., IP based protocols). In someembodiments, the communication management system 110 has a relationship115 with the home cellular network operator 104 to provide the mobiledevice 102 with cellular network access when the mobile device 102 isoutside of the service area of the home cellular network operator 104.In some embodiments, the communication management system 110 providesthe cellular network operators with access to the mobile device 102 bydynamically providing communication profiles to the mobile device 102via a global cellular network operator 106; where the dynamicallyprovided communication profiles allow the mobile device 102 to connectwith local cellular network operators 108 as described in greater detailbelow.

A communication profile is an identifier or set of identifiers whichidentifies a mobile device 102 to a cellular network operator.Communication profiles may be globally unique or may be unique to arespective cellular network operator. Communication profiles typicallyinclude an international mobile subscriber identity (IMSI), however acommunication profile may also include a mobile station integratedservices digital network number (MSISDN) that has been associated withan IMSI in addition to the IMSI. Similarly any other identifier that isused to permanently or semi-permanently identify a mobile device 102 toa cellular network operator may be used as communication profile.

Examples of suitable mobile devices 102 include a cellular telephone, asmartphone, a personal digital assistant, a portable email client, aportable computer, a netbook, a tablet computer, or any other devicethat can be configured to receive or transmit voice, messages or datathrough a cellular network. In some embodiments, the mobile device 102includes a subscriber identity module (SIM) card that stores a pluralityof communication profiles associated with respective cellular networkoperators. The mobile device 102 is initially configured to be used bythe subscriber (e.g., the user of the mobile device 102) to connect to acellular network operator using an active communication profile (e.g., ahome communication profile associated with home cellular networkoperator 104), upon leaving a service area of the home cellular networkoperator 104, the mobile device 102 is configured to access a globalcellular network operator 106 so as to receive a communication profilefor one of the local cellular network operators (e.g., local cellularnetwork operator 108-1).

In some embodiments a cellular network operator is an entity (e.g., aserver system) that manages a wireless communication network made up ofmultiple (often hundreds or thousands) of cellular antennae thattransmit and receive wireless signals. Such cellular antennae typicallycommunicate with mobile devices using a standard communication protocolsuch as GSM, CDMA, EV-DO, WCDMA, HSDPA, HSPA, UMTS, LTE, etc. Inaccordance with some embodiments, each respective cellular networkoperator has its own native set of modules (e.g., a native home locationregister, visiting location register, mobile switching center, etc.) formanaging mobile devices that are connected with the respective cellularnetwork operator, as described in greater detail below with reference toFIG. 1B. In some embodiments, the global cellular network operator 106has a cellular signal service area that is larger than the cellularsignal service area for any of the local cellular network operators 108,as described in greater detail below with reference to FIG. 1C.Typically the global cellular network operator 106 also charges a pricefor transmitting and receiving communications that is higher than theprice charged by the local cellular network operators 108 fortransmitting and receiving analogous communications received and/ortransmitted from analogous geographic locations. In some embodiments theglobal cellular network operator 106 has one or more non-roaminggeographical regions where the price charged by the global cellularnetwork 106 operator is comparable to the prices charged by localcellular network operators 108 for analogous communications.

The communication management system 110 is responsible for managing thetransfer of communication profiles to the mobile device 102. In someembodiments, the communication management system 110 is also responsiblefor servicing all of the requests of the mobile device 102 to connectwith cellular network operators (e.g., global cellular network operator106 and any local cellular network operators 108) other than the homecellular network operator 104. In some embodiments, the communicationmanagement system 110 is also responsible for servicing requests fromthe cellular network operators for routing information to the mobiledevice 102. In some embodiments, the communication management system 110includes one or more modules such as: a communication profile database118, a signal routing gateway 120, a home location register (HLR) 122, adynamic communication profile manager 126, a signal control point (SCP)124, a short message service center (SMSC) 128 and/or a paymentmanagement module 130.

The subscriber account manager 116 maintains an account for the mobiledevice 102 (or a SIM card that is inserted into the mobile device 102)and provides information about the account to the other modules withinthe communication management system 110. For example, in response toinput from a subscriber (e.g., via a web interface) the subscriberaccount manager 116 creates a service plan in the subscriber accountassociated with the mobile device 102 (e.g., specifying roaming charges,message and call forwarding preferences, countries in which thesubscriber will be provided with local communication profiles etc.). Theaccount for a mobile device 102 may also include system identifiedparameters such as communication profile data (e.g., one or morepreviously provided communication profiles for local cellular networkoperators, a communication profile for the home cellular networkoperator, etc.) retrieved from the communication profile database 118.The subscriber account manager 116 also communicates with the HLR 122 toprovide the HLR 122 with information regarding the communicationpreferences of the mobile device 102.

The communication profile database 118 includes communication parametersthat are associated with communication profiles for the global cellularnetwork operator 106 and/or one or more local cellular network operators108, such as: International IMSI numbers and MSISDN numbers. In someembodiments, the communication management system 110 is assigned a rangeof communication parameters (e.g., IMSIs/MSISDNs) by the global cellularnetwork operator 106 and by one or more of the local cellular networkoperators 108. The cellular network operators use the assigned ranges ofcommunication parameters (e.g., IMSIs/MSISDNs) to route communications(e.g., calls and messages) associated with one of the assignedcommunication parameters (e.g., IMSTs/MSISDNs) to the communicationmanagement system 110. In some embodiments, the communication parametersare only temporarily assigned to a mobile device (or SIM card) 102, andafter a predetermined amount of time has elapsed since the communicationparameter was last used by the mobile device 102 (e.g., one month), thecommunication profile database recycles the communication parameter(e.g., the communication parameter is made available or assigned to oneor more other subscribers and/or assigned to another subscriber). Insome embodiments a subscriber can set a preference to change thepredetermined amount of time. In some embodiments, the subscriber canpay to extend the predetermined amount of time or make the assignedcommunication profile a permanent communication profile for the mobiledevice 102. For example, a subscriber who often travels to China may paya small monthly fee to keep a “local” Chinese communication profile andassociated phone number.

In some embodiments, the communications are routed to and from thecellular network operators (e.g., the global cellular network operator106 or one of the local cellular network operators 108) to thecommunication management system 110 using network-specific addresses forserver modules (e.g., the HLR 122, the SCP 124, the SMSC 128, etc.) ofthe communication management system 110. The signal routing gateway 120at the communication management system 110 translates thenetwork-specific addresses to internal addresses, so that the servermodules within the communication management system 110 can be treated byeach cellular network operator as a native component of the cellularnetwork operator. In other words, the addressing conventions used by arespective cellular network operator for its own HLR(s) and SMSC(s) canbe applied to the HLR and SMSC controlled by the communicationmanagement system 110, as described in greater detail below withreference to FIG. 1D.

The home location register (HLR) 122 is a database that containsregistration information for each mobile phone 102 that is authorized toconnect to one of the cellular network operators (e.g., global cellularnetwork operator 106 or one of the local cellular network operators 108)through the communication management system 110. The HLR 122 receivesrequests from the mobile device 102 to connect with one of the cellularnetwork operators (e.g., the global cellular network operator 106 or oneof the local cellular network operators 108) and responds withregistration information for the requested network (e.g., an MSISDN thatis associated with the cellular network operator). Once the mobiledevice 102 is connected with one of the cellular network operators, theHLR 122 provides current registration information and/or routinginformation for the mobile device 102 to other cellular networkoperators and server modules within the communication management system110.

In some embodiments, the communication management system 110 alsoincludes a signal control point 124, which controls the mobile servicesfor those subscribers that have a pre-paid service plan. The signalcontrol point includes a database of such user groups and a ratingengine with a variety of rating plans that control how each user can usethe mobile services. For example, after receiving a request from amobile device to make a phone call, the signal control point would allowthe phone call to be completed after determining that the balance in anaccount associated with the mobile device (e.g., the account associatedwith the communication profile currently in use by the mobile device) issufficient to pay for the communication (e.g., determining that thecommunication profile is associated with an account that has a balancethat is sufficient to make a phone call at $0.10 per min).

The dynamic communication profile manager 126 maintains statusinformation for the mobile device 102 including information indicatingthe cellular network operator (e.g., home cellular network operator 104,global cellular network operator 106 or one of the local cellularnetwork operators 108) with which the mobile device 102 is currentlyconnected. Additionally, when the mobile device 102 requires a newcommunication profile for one of the cellular network operators (e.g.,one of the local cellular network operators 108), the dynamiccommunication profile manager 126 determines an appropriatecommunication profile and prepares a payload including the newcommunication profile. In some embodiments, the dynamic communicationprofile manager 126 sends the payload to a payload transmitter server112, which transmits the payload to the mobile device 102 through acellular network operator (e.g., global cellular network operator 106 orone of the local cellular network operators 108) with which the mobiledevice 102 is currently connected. In some embodiments, the dynamiccommunication profile manager 126 provides the payload transmitterserver 112 with a current communication profile of the mobile device102. In some embodiments, the payload transmitter server 112 is distinctfrom the communication management system 110. In other embodiments, thepayload transmitter server 112 is a module within the communicationmanagement system 110.

The short message service center 128 manages messages (e.g., shortmessage service or “SMS” messages) that are sent from the mobile device102 while the mobile device 102 is connected to a cellular networkoperator using a communication profile managed by the communicationmanagement system 110. The short message service center 128 relaysmessages from the cellular network operator with which the mobile device102 is currently attached to other cellular network operators. The shortmessage service center 128 also manages messages that are sent to themobile device 102 by relaying messages from other cellular networkoperators to a cellular network operator to which the mobile device 102is currently connected. It should be understood that, the short messageservice center 128 or an analogous server module may be used in ananalogous fashion to handle other types of messages such as enhancesmessage service messages (EMS messages). Similarly, in some embodiments,messages include one or more of SMS and EMS messages.

The payment management module 130 facilitates adding funds to prepaidaccounts using local payment protocols. For example, when the mobiledevice 102 is associated with a prepaid account that is in need ofadditional funds, the subscriber can simply purchase a local prepaidwireless card and follow the instructions for the local prepaid wirelesscard to add funds to the prepaid account. The payment management module130 receives a communication from the local cellular network operatorindicating that a payment has been made to the local cellular networkoperator for the mobile device 102 using a local communication profile.The payment management module 130 determines a home communicationprofile associated with the local communication profile (e.g., byquerying the dynamic communication profile manager 126 in thecommunication management system 110) and requests that funds be added toa prepaid account associated with the home communication profile. Insome embodiments, the payment management module 130 also managestransfers and/or conversion of currency from the local cellular networkoperator 108 to the home cellular network operator 104 so as to completea prepaid fund addition operation.

It should be understood that the description above is merely forillustrative purposes, and that the various modules/components withinthe communication management system 110 could be rearranged, separatedfrom and/or combined with other modules/components of the communicationmanagement system 110 without departing from the scope of the system andmethod disclosed herein.

Attention is now directed towards FIG. 1B, which illustrates a typical(generic) cellular network operator (e.g., home cellular networkoperator 104, global cellular network operator 106 and/or local cellularnetwork operator 108) with which the communication management system 110interacts. For example, a cellular network operator typically has alocal home location register 140 (HLR) and a plurality of visitinglocation register 142 (VLR)/mobile switching center 144 (MSC) pairs,which are typically associated with a cellular tower 146 (also called a“cellular node” herein). When a mobile device 102 is connected with thecellular network operator, the HLR 140 of the cellular network operatorrecords the IMSI of the mobile device 102, the MSISDN of the mobiledevice 102 and the VLR (e.g., 142-1) with which the mobile device 102 iscurrently registered. When the mobile device 102 moves to a new servicelocation (e.g., moving from a first cellular tower 146-1 to a newcellular tower 146-X) within the service area of the cellular networkoperator that is serviced by a new VLR, the new VLR creates a temporaryrecord for the mobile device 102 and informs the HLR that the mobiledevice 102 is registered with the new VLR. Communications from thecellular network operator are transmitted to and from the communicationmanagement system 110 (and other cellular network operators) through asignal transfer point 147 (STP). In some embodiments, the cellularnetwork operator includes a payment protocol module 149 for managingpayments to prepaid accounts using a payment protocol that is specificto the cellular network operator.

In accordance with these embodiments, communications for a mobile device102 are typically routed to a home MSC 148 for the mobile device 102. Acall is received for the mobile device 102 (e.g., from an MSC that isassociated with an initiating phone), the HLR 140 of the cellularnetwork operator receives a query for routing information to the mobiledevice 102 from the home MSC 148 of the mobile device 102, and inresponse to the query, the HLR 140 of the cellular network operator mapsthe MSISDN to the IMSI and retrieves the current information for themobile device 102 (e.g., the current VLR 142 at which the mobile device102 is currently registered). The HLR 140 of the cellular networkoperator then queries the VLR 142 that is currently associated with themobile device 102 for routing information. The VLR 142 determines aMobile Station Roaming Number (MSRN) (e.g., routing information) for themobile device 102. The MSRN is essentially an ISDN telephone number atwhich the subscriber can currently be reached. In some embodiments, MSRNis a temporary number that is valid only for the duration of a singlecall. The HLR 140 of the cellular network operator generates a responsemessage, which includes the MSRN, and sends it back across to the sourceof the request (e.g., to the MSC that is associated with the initiatingphone). Finally, the source of the request attempts to complete the callusing the MSRN of the mobile device 102. Various ones of these modulesand/or functions performed by these modules are replaced and/oraugmented by the communication management system 110 described ingreater detail herein.

Attention is now directed towards FIG. 1C, which illustrates an overviewof a global cellular network operator 106 in accordance with someembodiments. A global cellular network operator 106 has a largercellular signal service area (e.g., greater cellular network coverage)than the cellular signal service area of any of the local cellularnetwork operators 108, as discussed above. In some embodiments theglobal cellular network operator 106 directly controls a primarycommunication network (e.g., with a home location register 140-G, a homemobile switching center 148-G, one or more visiting location register142-G/mobile switching center 144-G pairs coupled to cellular towers146-G, a signal transfer point 147-G and a payment protocol module149-G, which are used in an analogous fashion to the similarly namedmodules described above for a generic cellular network operator). Insome embodiments the global cellular network operator merely has morecellular towers 146-G than any of the local cellular network operators108 and thus the global cellular network operator 106 has a largerservice area.

However, in some embodiments, the global communication network 106 hasnegotiated roaming agreements with one or more partner cellular networkoperators 150, which may include some or all of the local cellularnetwork operators 108 described above and/or additional partner cellularnetwork operators (e.g., cellular network operators with which thecommunication management system 110 does not have any relationship). Inother words, while some of the partner cellular network operators may bethe same as the local cellular network operators 108 described above,typically the global cellular network operator 106 will have roamingagreements with additional partner local cellular network operators 150that are distinct from the local cellular network operators 108. Thepartner cellular network operators 150 typically have all of the samemodules as the generic cellular network operator described above (e.g.,a home location register 140-P, a home mobile switching center 148-P,one or more visiting location register 142-P/mobile switching center144-P pairs coupled to cellular towers 146-P, and a signal transferpoint 147-P which are used in an analogous fashion to the similarlynamed modules described above for a generic cellular network operator).In some embodiments, messages for mobile devices registered with theglobal cellular network operator 106 that are roaming in a partnercellular network operator 150 are forwarded to the global cellularnetwork operator 106 for processing in accordance with the roamingagreements between the global cellular network operator 106 and thepartner cellular network operator 150.

Frequently, the global cellular network operator 106 charges higher feesfor a call than the partner cellular network operator 150 would chargefor the call if the call were placed by the mobile device 102 directlythrough the partner cellular network operator 150. Moreover, typically,the global cellular network operator 106 also charges higher fees forconnecting a call in a geographic location than a local cellular networkoperator 108 would charge for the call if the call were placed by themobile device 102 directly through the local cellular network operator108. Thus, by performing the operations described herein to switch themobile device 102 from a connection with the global cellular networkoperator 106 to a connection with one of the local cellular networkoperators 108, calls to and from the mobile device 102 can be connectedas local phone calls and thus be connected at lower rates than phonecalls connected directly through the global cellular network operator106, thereby saving money for the subscriber.

Attention is now directed towards FIG. 1D, which illustrates a detailedoverview of a signal routing gateway (e.g., 120 in FIG. 1A) for routingmessages from one or more different cellular network operators (e.g.,home cellular network operator 104, global cellular network operator106, and local cellular network operator 108) to modules (e.g., HLR 122,SCP 124 and/or SMSC 128) within the communication management system 110.In some embodiments, each cellular network operator assigns anetwork-specific address 152 (e.g., a point code (PC) or a global title(GT)) to one or more of the server modules (e.g., HLR 122, SCP 124and/or SMSC 128) within the communication management system 110. Foreach cellular network operator, the network-specific addresses are partof a network-specific addressing scheme that the cellular networkoperator uses to communicate between components of that cellular networkoperator. By using the network-specific addresses a cellular networkoperator can natively communicate with server modules within thecommunication management system 110. In some embodiments, the signalrouting gateway 102 translates the network-specific addresses ofmultiple independent local cellular network operators into internaladdresses and vice versa. This address translation performed at thesignal routing gateway 120 allows multiple respective cellular networkoperators to each send requests to the modules (e.g., HLR 122, SCP 124and/or SMSC 128) within the communication management system 110 asthough the server modules were a native part of each of respectivecellular network operators.

The signal routing gateway 120 stores relation information that allowsthe signal routing gateway 120 to map network-specific addresses 152 tointernal addresses 154, and translates a message by replacing thenetwork-specific address 152 (e.g., PC11, GT11) with a internal address154 (e.g., an internal hardware address such as PC1) and optionally aninternal communication address (e.g., internal communication addressGT1). In some embodiments, the signal routing gateway 120 alsotranslates the messages from network-specific communication protocols156 (e.g., an American National Standards Institute (ANSI) based messageor an International Telecommunications Union (ITU) based message) to ainternal communication protocol 158 (e.g., an IP based SS7 telephonesignaling protocols, such as SIGTRAN or TDM based SS7 signalingprotocols). The signal routing gateway 120 receives a reply to themessage from the server module (e.g., HLR 122, SCP 124 and/or SMSC 128)to which it was addressed, and retranslates the message by replacing theinternal address 154 (e.g., PC1) for the server module with thenetwork-specific address 152 (e.g., PC11) for the server module andtransmits the reply to the requesting cellular network operator usingthe network-specific communication protocol 156 associated with therequesting cellular network operator. In some embodiments, one or moreof the cellular network operators uses the internal addresses 154 and/orthe internal communication protocol 158 of the communication managementsystem 110, and bypass the signal routing gateway 120 entirely. Anadvantage of allowing each of the cellular network operators to use itsown native network-specific addresses 152 and network-specificcommunication protocol 156 is that the cellular network operators do notneed to modify their own operations to integrate with the communicationmanagement system 110. Consequently, it allows cellular networkoperators to easily integrate with the communication management system110.

FIG. 2 is a block diagram illustrating a mobile device 102 in accordancewith one embodiment. The mobile device 102 typically includes one ormore processing units (e.g., CPUs) 204, one or more power sources 208,one or more network or other communications interfaces 210 (e.g., acoaxial cable port, an Ethernet port, and/or a wireless port, a GSM,CDMA, 3G, LTE or other cellular antenna), memory 206, one or morecommunication buses 216 for interconnecting these components, and ahousing 218. The mobile device 102 optionally may include a subscriberinterface such as a display device 212, a keyboard 214 a touchscreen, atouch pad, a scroll wheel, etc. The memory 206 includes high-speedrandom access memory, such as DRAM, SRAM, DDR RAM or other random accesssolid state memory devices; and may include non-volatile memory, such asone or more magnetic disk storage devices, optical disk storage devices,flash memory devices, or other non-volatile solid state storage devices.Memory 206 may optionally include one or more storage devices remotelylocated from the CPU(s) 204. The memory 206, or alternately thenon-volatile memory device(s) within memory 206, comprises a computerreadable storage medium. In some embodiments, memory 206 or the computerreadable storage medium of memory 206 stores the following programs,modules and data structures, or any subset thereof:

-   -   An operating system 220 that includes procedures for handling        various basic system services and for performing hardware        dependent tasks.    -   One or more network communication module(s) 222 that are used        for connecting the mobile device 102 to other computers via the        communication network interface(s) 210 (wired or wireless) to        one or more communication networks, such as cellular phone/data        networks (e.g., GSM, CDMA, 3G, LTE etc.), the Internet, other        wide area networks, local area networks, metropolitan area        networks, satellite links, cable networks, and so on.    -   A local access requirement database 224 for determining whether        any of the subscriber communication profiles are suitable for        accessing any currently available cellular network operators        (e.g., global cellular network operator 106 and/or one of the        local cellular network operators 108).    -   Subscriber identity information 226 for identifying the mobile        device 102 to the cellular network operators. In some        embodiments, the subscriber identity information 226 is stored        on a SIM card that is removable from the mobile device 102. In        some embodiments the subscriber identity information 226 is        stored in non-removable memory of the mobile device 102. In some        embodiments, the subscriber identity information 226 includes        one or more of:        -   Home subscriber information 228 including a home            communication profile 230 (e.g., an IMSI from the home            cellular network operator) for identifying the mobile device            102 to the home cellular network operator (e.g., 104 in FIG.            1A) of the mobile device 120 and a home ki (e.g., an            authentication key such as a private encryption key) 232 for            authenticating the mobile device to the home cellular            network operator; and        -   Roaming subscriber information 234 including: a global            communication profile 236 (e.g., an IMSI from the global            cellular network operator) for identifying the mobile device            102 to the global cellular network operator (e.g., 106 in            FIG. 1A), one or more local communication profiles (e.g.,            238-1, 238-2, 238-N) (e.g., IMSIs from one of the local            cellular network operators 108) for identifying the mobile            device 102 to the local cellular network operators (e.g.,            108-1, 108-N, etc. in FIG. 1A), and one or more roaming            ki(s) (e.g., an authentication key such as a private            encryption key) 240 for authenticating the mobile device 102            to the global cellular network operator(s) 106 or the local            cellular network operator(s) 108. In some embodiments, the            roaming subscriber information 234 is independent from the            home subscriber information 228 (e.g., the home ki 232 is            distinct from the roaming ki 240). In some embodiments, all            of the communication profiles in the roaming subscriber            information 234 are managed by (e.g., authenticated through)            a single communication management system (e.g., 110 in FIG.            1A), and thus share a single common ki (e.g., roaming ki            240). In some embodiments, the global communication profile            236 is fixed and is permanently or semi-permanently            maintained in memory 206 of the mobile device 102. In some            embodiments, the local communication profiles are dynamic            and are maintained in memory 206 of the mobile device only            so long as they are actively being used and are removed from            memory 206 if they are not used for more than a            predetermined period of time (e.g., one month).

Each of the above identified programs, modules and/or data structuresmay be stored in one or more of the previously mentioned memory devices,and corresponds to a set of instructions for performing the functionsdescribed above. It should be understood that the above identifiedmodules or programs (i.e., sets of instructions) need not be implementedas separate software programs, procedures or modules, and thus varioussubsets of these modules may be combined or otherwise re-arranged invarious embodiments. In some embodiments, the memory 206 may store asubset of the modules and data structures identified above. Furthermore,the memory 206 may store additional modules and data structures notdescribed above. Similarly, while the above identified memory devicesare shown in a single computing device in a single housing, it should beunderstood that each of the modules could be implemented on more thanone separate hardware devices. In particular, one or more of the itemsin the subscriber identity information 226 and/or the local accessrequirements database 224 may be stored as part of a removablesubscriber identity module (SIM) card that includes one or moreprocessors that is removable from the mobile device 102. In theseembodiments, the mobile device 102 described herein refers to whatevermobile device the SIM card is inserted into. In other words, if the SIMcard is moved from a first cellular phone to a second cellular phone:before the SIM card is moved, the first cellular phone is the mobiledevice 102 and after the SIM card is moved the second cellular phone isthe mobile device 102.

Additionally, it should be understood that, in some embodiments, amobile device 102 only reads from a single active location in the SIMcard. Thus, in these embodiments, when a respective communicationprofile is in use by the SIM card, the respective communication profilemust be stored in the active communication profile region of the SIMcard. Typically, one of the communication profiles (e.g., a homecommunication profile) is stored in the active location of the SIM cardby default. In some embodiments, when a new communication profile (e.g.,a local communication profile) is moved to the active location of theSIM card, the previous communication profile (e.g., the homecommunication profile) is moved to (i.e., temporarily stored in) anotherlocation on the SIM card for later use.

FIG. 3 is a block diagram illustrating a communication management system110 in accordance with some embodiments. The communication managementsystem 110 typically includes one or more processing units (CPUs) 304,one or more power sources 308, one or more network or othercommunications interfaces 310 (e.g., a coaxial cable port, an Ethernetport, and/or a wireless port), memory 306 and one or more communicationbuses 316 for interconnecting these components. Memory 306 includeshigh-speed random access memory, such as DRAM, SRAM, DDR RAM or otherrandom access solid state memory devices; and may include non-volatilememory, such as one or more magnetic disk storage devices, optical diskstorage devices, flash memory devices, or other non-volatile solid statestorage devices. Memory 306 may optionally include one or more storagedevices remotely located from the CPU(s) 304. Memory 306, or alternatelythe non-volatile memory device(s) within the memory 306, comprises acomputer readable storage medium. In some embodiments, memory 306 or thecomputer readable storage medium of the memory 306 stores one or more ofthe following programs, modules and data structures, or a subsetthereof:

-   -   An operating system 320 that includes procedures for handling        various basic system services and for performing hardware        dependent tasks.    -   One or more network communication module(s) 322 that are used        for connecting the communication management system 110 to other        computers via the communication network interface(s) 310 (wired        or wireless) to one or more communication networks, such as the        Internet, other wide area networks, local area networks,        metropolitan area networks, satellite links, cable networks, and        so on.    -   A subscriber account manager 116 for managing subscriber        accounts, including a subscriber account generator 324 for        generating/modifying subscriber accounts based on subscriber        input (e.g., received via a web interface); an unassigned        communication parameter retrieval module 326 for retrieving        communication parameters from the communication profile database        118; and a local profile generator 328 for aggregating the        communication profile information needed for a subscriber        account and creating a communication profile for a respective        network for that subscriber account in accordance with the        communication profile creation parameters 334 from the cellular        network operators.    -   Communication profile database 118 for storing unassigned        communication parameters and network preferences, including a        plurality of unassigned communication parameters 332 (e.g.,        IMSIs, MSISDNs, etc.) provided by the cellular network operators        (e.g., global cellular network operator 106 or local cellular        network operators 108); communication profile creation        parameters 334 from respective cellular network operators that        determine how communication profiles are to be generated for        each respective cellular network operator; and limits of service        336 for indicating the geographical and/or time and date limits        for the unassigned communication parameters supplied to the        communication management system 110 by the cellular network        operators (e.g., the limits of service indicate an expiration        date for a communication parameter, or a geographic area in        which the communication parameter will be effective).    -   A signal routing gateway 120 for translating requests from the        cellular network operators (e.g., global cellular network        operator 106 and/or local cellular network operators) to server        modules (e.g., HLR 122, SCP 124 and/or SMSC 128) within the        communication management system 110 and replies from the various        modules to the cellular network operators, as described in        greater detail above with reference to FIG. 1B.    -   A home location register 122 for tracking current communication        profile information for a plurality of mobile devices (e.g., 102        in FIGS. 1A, 2) registered with the communication management        system 110, including an authentication module 338 for        authenticating mobile devices 102 in response to requests        received via the cellular network operators (e.g., global        cellular network operator 106 and/or local cellular network        operators 108) by providing registration information (e.g.,        MSISDNs) associated with the requesting network. The home        location register 122 also stores subscriber identity        information (e.g., 340-1, 340-2, 340-M, etc.), which, in        accordance with some embodiments, includes one or more records        of a current cellular network operator with which the mobile        device is connected and/or a current communication profile        (e.g., IMSI/MSISDN) that is being used by the device.    -   A signal control point 124 for controlling the mobile services        for those subscribers that have pre-paid service plan (e.g., by        determining whether sufficient funds are available to allow a        communication to be completed).    -   A local communication profile manager 126 for managing local        communication profiles stored on the mobile device 102 in        FIG. 2. The local communication profile manager 126 includes        subscriber accounts 344 (e.g., generated using information from        the account manager 324) which store subscriber cellular network        operator subscription preferences, and maintains information        about the communication profiles that are associated with a        subscriber (e.g., with the mobile device 102 of the subscriber).        The local communication profile manager 126 also includes a        subscriber account information updater 346 for updating account        information as changes occur at the communication management        system 110. For example, when a mobile device 102 is provided        with a new local communication profile by the communication        management system 110, the subscriber account associated with        the mobile device 102 is updated to reflect the association of        the new local communication profile with the subscriber account;        additionally, when the mobile device 102 connects to a new        cellular network operator, the subscriber account associated        with the mobile device 102 is updated to reflect the current        active communication profile of the mobile device 102. In        accordance with some embodiments, the local communication        profile manager 126 also includes a payload generator 348 for        selecting new local communication profile(s) for the subscriber,        as needed, and preparing a data payload, for delivery to the        mobile device 102 that will, when delivered to the mobile device        102, enable the mobile device 102 to use the new local        communication profile. The local communication profile manager        126 also includes a payload transmitter module 350 for        transmitting the data payload with the new local communication        profile to a payload transmitter server (e.g., 112 in FIG. 1A)        that repackages the payload (e.g., as a data message that        instructs the mobile device 102 to load the new local        communication profile on the mobile device 102) and sends the        payload to the mobile device 102. In some embodiments, the        payload transmitter server 112 is part of the communication        management system 110.    -   A short message service center 128 for processing outgoing        messages (e.g., SMS, EMS, etc.) from mobile devices 102 that are        using communication profiles that are managed by the        communication management system 110 and processing incoming        messages for mobile devices 102 using communication profiles        that are managed by the communication management system 110.    -   A payment management module 130 for managing payments received        by cellular network operators for mobile devices 102 that have        communication profiles that are managed by the communication        management system 110, and managing the transfer of funds to a        central prepaid account, as necessary.

Each of the above identified programs, modules and/or data structuresmay be stored in one or more of the previously mentioned memory devices,and corresponds to a set of instructions for performing the functionsdescribed above. The above identified modules or programs (i.e., sets ofinstructions) need not be implemented as separate software programs,procedures or modules, and thus various subsets of these modules may becombined or otherwise re-arranged in various embodiments. In someembodiments, the memory 306 may store a subset of the modules and datastructures identified above. Furthermore, the memory 306 may storeadditional modules and data structures not described above. Similarly,while the above identified memory devices are shown in a singlecomputing device, it should be understood that each of the modules couldbe implemented on a separate hardware device (e.g., as one or moredistinct computer servers) in some embodiments.

Attention is now directed towards FIG. 4, which illustrates an exemplarydata structure for storing subscriber identity information 340 at thecommunication management system (e.g., 110 in FIGS. 1A, 3). In someembodiments, this exemplary data structure, or an analogous datastructure, is stored in the HLR (e.g., 122 in FIGS. 1A, 3) of thecommunication management system 110. Typically, this data structurerelates together all of the communication profiles for a subscriber sothat messages received from the mobile device (e.g., 102 in FIGS. 1A, 2)are associated with the subscriber and so that messages received at thecommunication management system 110 for the subscriber can be forwardedto the mobile device 102 even when the mobile device 102 switches frombeing connected with a first cellular network operator to beingconnected with a second cellular network operator. In other words, eventhough typically, only a single communication profile is active at themobile device 102 at any given time, multiple communication profiles forthe mobile device 102 can be actively monitored at the communicationmanagement system 110, and communications using one of the communicationprofiles that is associated with the mobile device 102, but is notactively in use by the mobile device 102, can be received at thecommunication management system 110, and subsequently forwarded to themobile device 102, as described in greater detail below. The storedsubscriber identity information 340 relates the various communicationprofiles associated with the subscriber (e.g., the mobile device/SIMcard of the subscriber), thereby enabling the communication managementsystem 110 to forward messages for the subscriber to the mobile device102, as necessary.

The subscriber identity information for a respective subscriber (e.g.,Subscriber 1 Identity information 340-1) includes device identifiers(e.g., IMSIs) and registration information (e.g., MSISDNs) for aplurality of different cellular network operators that are associatedwith the subscriber. The subscriber identity information includes homecellular network operator subscriber information 402, includingcommunication parameters such as: a home cellular network operatordevice identifier (e.g., IMSI) 404 and home cellular network operatorregistration information (e.g., MSISDN) 406. It should be understoodthat the home MSISDN of a subscriber is more commonly known as a primaryphone number of the subscriber.

The subscriber information also includes global cellular networkoperator subscriber information 410, including communication parameterssuch as: a global cellular network operator device identifier (e.g.,IMSI) 412, a global cellular network operator registration (e.g.,MSISDN), which is either preassigned or selected by the communicationmanagement system 110, as needed, and any global cellular networkoperator parameters 416 that indicate access requirements or limitationsfor the global cellular network operator (e.g., 106 in FIG. 1A). Thesubscriber information also includes local cellular network operatorsubscriber information (e.g., 418-1, 418-P, etc.) for one or more localcellular network operators 108; the local cellular network operatorinformation for each local cellular network operator 108 includescommunication parameters such as: a local cellular network operatordevice identifier (e.g., IMSI) (e.g., 420-1, 420-P, etc.); a localcellular network operator registration information (e.g., MSISDN) (e.g.,422-1 m 422-P, etc.) that is selected by the communication managementsystem 110, as needed; and any local cellular network operatorparameters (e.g., 424-1, 424-P, etc.) that indicate access requirementsor limitations for the local cellular network operator 108.

In some embodiments, one or more of the device identifiers (e.g., IMSIs)in the subscriber identity information is part of a communicationprofile that is managed by the communication management system 110. Insome embodiments the device identifiers that are part of a communicationprofile in the home communication subscriber information 402 that ismanaged by a home cellular network operator while a plurality ofcommunication profiles that use global cellular network operatorsubscriber information 410 and the local cellular network operatorsubscriber information 418 are managed by the communication managementsystem 110. In other words, a request to register the mobile device 102for connection to a respective cellular network operator using a homecommunication profile (e.g., home IMSI and/or MSISDN) will be directlyrouted to home cellular network operator without going through thecommunication management system 110 for authentication, while a requestto register the mobile device for connection to a respective cellularnetwork operator using a global communication profile (e.g., global IMSIand/or MSISDN) or a local communication profile (e.g., local IMSI and/orMSISDN) is relayed from the respective cellular network operator to thecommunication management system 110 for authentication. In some of theseembodiments, the subscriber identity information also includes commonparameters 426 for the home location register 122 at the communicationmanagement system 110 that are common for all of the subscriberinformation that is managed by the communication management system 110.

In some embodiments, home subscriber information that is managed by ahome cellular network operator is provided to the communicationmanagement system and is stored as home subscriber information 402 inthe subscriber identity information 340 at the communication managementsystem, 110. It should be understood that the home subscriberinformation is not typically modified by the communication managementsystem 110. In some embodiments, the global subscriber information 410is managed by the communication management system 110 and is static(e.g., while the global subscriber information can be modified by thecommunication management system 110, it is typically not modified, sothat the mobile device 102 can always use the global subscriberinformation to access the communication management system 110). In someembodiments, the local subscriber information 420 is dynamic subscriberinformation which is managed by the communication management system 110and is modified at the mobile device 102 and at the communicationmanagement system 110 to match the cellular network operator accessrequirements of the mobile device 102 (e.g., by adding subscriberinformation when the mobile device 102 needs to connect to a newcellular network operator and/or removing subscriber information whenthe mobile device 102 has not connected to one of the local cellularnetwork operators 108 for more than a predetermined period of time, suchas one month).

For example, typically, when a subscriber purchases a SIM card, phone orservice plan, in accordance with some embodiments, the SIM card ispre-provisioned with home cellular network operator IMSI 404 and homecellular network operator MSISDN 406 as a primary communication profileand global cellular network operator IMSI 412 and (optionally) a globalcellular network operator MSISDN 416 as a first alternativecommunication profile. When a subscriber first accesses the HLR 122 ofthe communication management system 110 using the global cellularnetwork operator IMSI 412, the HLR 122 notifies the local communicationprofile manager (e.g., 126 in FIG. 3) of this event and a location ofthe mobile device 102. The local communication profile manager 126checks the subscriber identity information (e.g., 340-1 for thesubscriber) to determine which local communication profiles 418 havealready been sent to the mobile device 102, and determines if anotherlocal communication profile (e.g., a local IMSI) is needed in order forthe mobile device 102 to connect to a local cellular network operator108 at the current location of the mobile device 102. If another localcommunication profile is needed, the new local communication profile issent to the mobile device 102 as described in greater detail below, andadditional local cellular network operator subscriber information isadded to the subscriber identity information (e.g., 340-1) for thesubscriber associated with the mobile device 102.

Attention is now directed towards FIGS. 5A-5D, which illustrate aprocess 500 for dynamically providing communication profiles to a mobiledevice (e.g., 102 in FIGS. 1A, 2). The mobile device 102 stores aplurality of communication profiles comprising one or more localcommunication profiles (e.g., one of the local communication profiles238 in FIG. 2) and a global communication profile (e.g., 236 in FIG. 2).In some embodiments, the mobile device 102 also stores a homecommunication profile (e.g., 230 in FIG. 2). In some embodiments thecommunication profiles are stored in a SIM card in the mobile device102. In some embodiments, a communication profile includes an IMSI. Insome embodiments a communication profile includes a MSISDN. In someembodiments, the global communication profile (e.g., 236 in FIG. 2) andthe new local communication profile are managed by a communicationmanagement system (e.g., 110 in FIGS. 1A, 3). It should be understoodthat, in accordance with some embodiments, the mobile device 102initially only has a global communication profile (e.g., 236 in FIG. 2)and a home communication profile (e.g., 230 in FIG. 2), and one or morelocal communication profiles are only stored on the mobile device 102after they have been provided to the mobile device 102 as described ingreater detail below.

The mobile device 102 determines (501) local access requirements forconnecting to an available local cellular network operator 108 withoutroaming charges (e.g., using a local access requirement database 224 inFIG. 2). In some embodiments, determining the local access requirementsincludes requesting (502) connection to the available local cellularnetwork operator 108 using a respective local communication profile. Insome embodiments, the respective local communication profile is a “lastused” communication profile that was last used by the mobile device 102to connect to a cellular network operator. In some embodiments, therespective local communication profile is a currently activecommunication profile that is loaded in an active region of a SIM cardof the mobile device 102. For example, if the mobile device 102 waspreviously located in China and used a first communication profile toconnect to cellular network operator in China (e.g., CHINAMOBILE) andthe mobile device 102 is transported to India, the mobile device 102first attempts to connect to a local cellular network operator 108(e.g., AIRTEL) in India using the first communication profile that wasused to connect to the cellular network operator in China. Typically,this attempt will fail unless the previous cellular network operator(e.g., CHINAMOBILE) has a roaming agreement with the local cellularnetwork operator 108 (e.g., AIRTEL).

The local cellular network operator 108 receives (504) the request toconnect to the local cellular network operator 108 and determineswhether the request is valid (e.g., whether the communication profileused by the mobile device 102 to connect to the local cellular networkoperator 108 is a valid communication profile for the local cellularnetwork operator 108). If the request is valid (506), the local cellularnetwork operator 108 verifies the local communication profile, ifnecessary, or simply registers the mobile device 102 with the localcellular network operator 108, as described in greater detail below withreference to operations 576-594. In other words, if the mobile device102 is currently using a local communication profile that is recognizedby the local communication network operator, then the mobile device 102will be able to communicate (e.g., send/receive phone calls, messagesand/or data) over the local cellular network that is controlled by thelocal cellular network operator 108. Continuing the example above, ifCHINAMOBILE is also available in India, then the mobile device 102 willcontinue to use CHINAMOBILE while in India. It should be understoodthat, in some embodiments, even if CHINAMOBILE has a roaming agreementwith AIRTEL, it is advantageous to switch to an AIRTEL communicationprofile so as to enable the mobile device to communicate as a localdevice on the AIRTEL network, as described in greater detail below.

If the request is not valid (507), the local cellular network operator108 sends (508) location information to the mobile device 102 withoutgranting the mobile device 102 a connection to the local cellularnetwork operator 108. In other words, in some embodiments, when acellular tower receives a request for access from a mobile device 102the cellular tower sends back information that is sufficient for themobile device 102 to determine a location of the cellular tower and/oran identity of the local cellular network operator 108 (e.g., a mobilecountry code or a mobile network code). In response to the request, insome embodiments, the mobile device 102 receives (510) information thatidentifies a location of the mobile device 102 without being connectedto the local cellular network operator 108. Continuing the exampledescribed above, if the local cellular network operator 108 (e.g.,AIRTEL) in India is different from the local cellular network operator108 (e.g., CHINAMOBILE) in China, then the local cellular networkoperator 108 (e.g., AIRTEL) in India will provide the mobile device 102with information indicating that the mobile device 102 is in India(e.g., either by providing explicit location information or by providingan identifier of the local cellular network operator 108).

Alternatively, in some embodiments, the mobile device 102 independentlydetermines a location of the mobile device 102 (e.g., by using a globalpositioning system receiver to receive satellite positioning signals anddetermining a current position of the mobile device 102 based on thosesignals). In some embodiments, the mobile device 102 determines (512)the local access requirements of the local cellular network operator 108based on the location of the mobile device 102 (e.g., a location that isindicated by the communication from the local cellular network operator108).

Based on the local access requirements, the mobile device 102 determineswhether the plurality of communication profiles include a localcommunication profile that satisfies the local access requirements. Insome embodiments, determining whether the plurality of communicationprofiles include a local communication profile that satisfies the localaccess requirements includes searching the plurality communicationprofiles for a local communication profile that satisfies the localaccess requirements. In some embodiments, the search comprises comparingone or more of the communication profiles to an identifier of the localcellular network operator 108 to identify a communication profileassociated with the local cellular network operator 108. Continuing theexample described above, once the mobile device 102 has determined thatthe communication profile associated with CHINAMOBILE cannot be used toconnect to the local cellular network operator 108 in India (e.g.,AIRTEL), the mobile device 102 searches within its memory (e.g., withina set of communication profiles stored in a SIM card) for acommunication profile that matches the local access requirements (e.g.,a communication profile that can be used to connect the mobile device tothe AIRTEL cellular network operator).

If one or more communication profiles are found (514) that meet thelocal access requirements, then the mobile device 102 selects (515) oneof the communication profiles that meets the local access requirementsto load as an active profile in the SIM card. The communication profileis subsequently loaded as an active communication profile and thereafterused to connect to the local communication network operator, asdescribed in greater detail below with reference to operations 572-594.In other words, when the plurality of communication profiles stored inthe mobile device 102 include a respective local communication profilethat satisfies the local access requirements, the mobile device 102connects to the local cellular network operator 108 using the respectivelocal communication profile. Continuing the example described above, themobile device 102 identifies a communication profile for the AIRTELcellular network operator and connects to the AIRTEL cellular network.

If no communication profiles are found (516) that meet the local accessrequirements, then the mobile device 102 retrieves a local communicationprofile from a communication management system 110, as described ingreater detail below with reference to operations 518-542. In otherwords, operations 518-542 are performed when the plurality ofcommunication profiles does not include a local communication profilethat satisfies the local access requirements.

The mobile device 102 connects (518) to the global cellular networkoperator 106 using a global communication profile. In some embodiments,the mobile device 102 selects (520) a global communication profile thatis associated with a global cellular network operator as an activecommunication profile. In some embodiments the selected communicationprofile is moved (521) into an active location in the SIM card. Itshould be understood that, in some embodiments, there is only a singleactive location in the SIM card (e.g., a location from which the mobiledevice 102 acquires communication profile information when attempting toconnect to a cellular network operator). In some of these embodiments,when the selected communication profile is moved into the activelocation in the SIM card, the previously active SIM profile is moved toa temporary storage location for later use. Continuing the exampledescribed above, when no communication profile exists for AIRTEL, aglobal communication profile for a global network operator (e.g., AT&T)that has roaming agreements with cellular network operators in manycountries (including India) is moved into the active location in the SIMcard and the CHINAMOBILE communication profile is moved to anotherlocation (e.g., a temporary storage location) on the SIM card.

In some embodiments, the mobile device 102 is reset (522) so that themobile device 102 begins using the global communication profile. In someembodiments, the mobile device 102 sends (523), to the global cellularnetwork operator 106, a request to connect to the global cellularnetwork operator (e.g., a request to connect to a local partner cellularnetwork operator of the global cellular network operator) using theglobal communication profile. In some embodiments, the request istransmitted first to a partner cellular network operator (e.g., acellular network operator with which the global cellular networkoperator has roaming agreements) and is subsequently forwarded to theglobal cellular network operator 106 by the partner cellular networkoperator, as described in greater detail above with reference to FIG.1C.

After receiving the request from the mobile device 102, the globalcellular network operator 106 verifies (524) the global communicationprofile. In some embodiments (e.g., when the global cellular networkoperator manages the global communication profile) the global cellularnetwork operator handles the verification of the global communicationprofile at the global cellular network operator, and registers (525) themobile device 102 with the global cellular network operator 106 withoutinvolving a separate communication management system 110. In otherembodiments (e.g., where a communication management system 110 managesthe global communication profile), the global cellular network operator106 routes (526) the request from the mobile device 102 to acommunication management system 110. In some embodiments, the request isrouted to the communication management system 110 using (527) anetwork-specific address that is specific to the global cellular networkoperator 106, as described in greater detail below with reference toFIGS. 6A-6B.

In accordance with some embodiments, the communication management system110 receives (528), from the global cellular network operator 106, arequest to connect the mobile device 102 to the global cellular networkoperator 106 using a global communication profile. In other words, thecommunication management system 110 receives a forwarded communicationfrom the mobile device 102 that indicates that the mobile device 102 isattempting to connect to the global cellular network operator 106 usingthe global communication profile. Continuing the example describedabove, when the subscriber enters India, the mobile device is unable toconnect to any cellular network operator using the CHINAMOBILEcommunication profile and thus uses an AT&T communication profile toestablish a connection to a cellular network operator (e.g., AT&T),where AT&T provides coverage in India as well as many other countriesthat may be visited by the subscriber. In some embodiments, the requestalso indicates the location (e.g., India) of the mobile device 102(e.g., by including a mobile country code or a mobile network code). Insome embodiments, the communication management system 110 or a signalrouting gateway (e.g., 120 in FIG. 3) within the communicationmanagement system 110 translates (530) the network-specific addressassociated with the request into an internal address for the servermodule that is associated with the network-specific address.

In some embodiments, the request is generated with the globalcommunication profile (e.g., an IMSI) and an authentication key (e.g., aKi) (e.g., by using the Ki and the IMSI to generate a random numberrequired by GSM authentication mechanisms). The communication managementsystem 110 or an authentication module (e.g., 338 in FIG. 3) within thecommunication management system 110 authenticates (531) the requestusing the same authentication key (e.g., the Ki). It should beunderstood that both the mobile device 102 and the communicationmanagement system 110 have distinct copies of the same authenticationkey (e.g., so as to enable encryption and decryption of messages betweenthe mobile device 102 and the communication management system 110 usingthe Ki as a private key to generate other keys or random numbers). Ifthe request cannot be authenticated, then the request is rejected andthe process ends. When the request is properly authenticated, then thecommunication management system 110 proceeds to process (532) therequest. In some embodiments, processing the request includes retrievingregistration information (e.g., an MSISDN) that is associated with theglobal cellular network operator 106 (e.g., a global communicationprofile such as the global IMSI) and preparing to deliver theregistration information to the mobile device 102. For example, the homelocation register (e.g., 122 in FIG. 3) looks through subscriberidentity information (e.g., 340 in FIGS. 3-4) and identifies, based onthe global communication profile (e.g., the IMSI used by the mobiledevice 102) registration information (e.g., an MSISDN) that matches theglobal communication profile. In some embodiments processing the requestalso includes automatically preparing a new local communication profilefor the mobile device 102 as discussed in greater detail below withreference to operations 545-567.

The server module (e.g., HLR 122 in FIG. 3) prepares to send a reply tothe mobile device 102, the reply including the registration information.In some embodiments, the communication management system 110 or a signalrouting gateway (e.g., 120 in FIG. 3) within the communicationmanagement system 110 translates (534) the reply by replacing aninternal address for the server module (e.g., home location register 122in FIG. 3) with the network-specific address for the server module(e.g., home location register 122 in FIG. 3) that was used to addressthe original request, as described in greater detail below withreference to FIGS. 6A-6B.

The communication management system 110 sends (536) the reply, includingverification of the registration request and registration information(e.g., an MSISDN), to the global cellular network operator 106 fordelivery to the mobile device 102. In some embodiments, the reply isaddressed using (537) a network-specific address for the server module(e.g., the reply appears to be sent from a server module that has thesame network-specific address that was used to address the originalrequest). In other words, in some embodiments, the global cellularnetwork operator 106 is completely unaware of the existence of theinternal address for the server module (e.g., HLR 122 in FIG. 3). Insome embodiments, after receiving the reply from the communicationmanagement system 110, the global cellular network operator 106registers (525) the mobile device 102 with the global cellular networkoperator 106 by routing (540) the reply from the communicationmanagement system 110 to the mobile device 102. In some embodiments, thereply uses (541) the network-specific address for the server module. Themobile device 102 receives (542) the registration information (e.g., anMSISDN) for the global cellular network operator 106 and is therebyenabled to connect to the global cellular network operator as aregistered mobile device 102. Continuing the example described above,the mobile device 102 can now make and receive phone calls, make andreceive SMS/EMS/MMS messages and/or send and receive data over the AT&Tnetwork using the AT&T communication profile, and the mobile device hasa phone number associated with the AT&T network.

In some embodiments, after being connected to the global cellularnetwork operator 106 as a registered mobile device 102, the mobiledevice 102 makes/receives one or more phone calls, sends/receives one ormore SMS/EMS/MMS messages and/or sends/receives data using the globalcommunication profile. In other words, once the mobile device 102 isconnected with the global cellular network operator 106, the mobiledevice 102 is capable of performing all of the standard communicationfunctions of a cellular phone.

In some embodiments, the mobile device 102 requests (543) a new localcommunication profile through the global cellular network operator 106.In other words, in some embodiments, the mobile device 102 determines(e.g., based on the mobile country code or mobile network code of one ormore nearby cellular towers) that a new local communication profile isnecessary to connect to the local cellular network operators 108 andsends this information to the communication management system 110 viathe global cellular network operator 106 using the active and registeredglobal communication profile. When the global cellular network operator106 receives the request for the new local communication profile, theglobal cellular network operator 106 relays (544) the request for thenew local communication profile to the communication management system110. Continuing the example above, the mobile device 102 sends a requestto the communication management system 110 using the global AT&Tcommunication profile, where the request is for an AIRTEL communicationprofile for connecting with the AIRTEL local cellular network operator108 in India.

In other words, in accordance with some embodiments the communicationmanagement system 110 receives an explicit request for a new localcommunication profile from the mobile device 102 after the mobile device102 is connected to the global cellular network operator 106 using theglobal communication profile; while in accordance with otherembodiments, the communication management system 110 receives animplicit request for a new local communication profile when registrationwith the global communication network operator is requested (therebyindicating that the mobile device 102 does not have a localcommunication profile that is valid for any of the available localcellular network operators 108). In either case, the communicationmanagement system 110 initiates (545) a process to generate a new localcommunication profile for the mobile device 102. For example, thecommunication management system 110 sends identification information forthe mobile device 102 (e.g., a current global communication profile ofthe mobile device 102) and information about the location of the mobiledevice 102 (e.g., a mobile country code or a mobile network code) thatindicates which communication profile(s) are needed by the mobile device102 (e.g., which local cellular network operators are active at thelocation of the mobile device 102).

In accordance with some embodiments, the communication management system110 determines (546) local cellular network operators 108 that areavailable at the location of the mobile device 102. In some embodiments,the communication management system 110 uses the location reported byHLR 122 (e.g., based on the communication from the VLR with which themobile device 102 is currently attached) to identify potential localcellular network operators. The communication management system 110determines whether any new local communication profiles are availablefor any of the potential local cellular networks operators. If a newlocal communication profile is not available (547) either because all ofthe local communication profiles for the potential local cellularnetwork operator are assigned to other mobile devices 102 or becausethere are no potential local cellular network operators with service atthe location of the mobile device 102, then the communication managementsystem 110 may allow (548) the mobile device 102 to continue connectingto the global cellular network operator.

If one or more new local communication profiles are (550) available, thecommunication management system 110 or the local communication profilemanager (e.g., 126 in FIG. 3) within the communication management system110 allocates (551) one of the new local communication profiles to themobile device 102. In some embodiments, the communication managementsystem 110 or the local communication profile manager (e.g., 126 in FIG.3) within the communication management system 110 records the newallocation in a server module that manages the communication profiles(e.g., HLR 122 in FIG. 3). In other words, the server module (e.g., HLR122 in FIG. 3) within the communication management system 110 thatreceives requests from the mobile device 102 to connect to communicationnetwork operators and that receives requests from other devices tocommunicate with the mobile device 102 is provided with the most up todate subscriber identification information. Consequently, this servermodule (e.g., HLR 122 in FIG. 3) is enabled to: (A) authenticaterequests by the mobile device 102 to connect to cellular networkoperators, and (B) properly route incoming communications to and fromthe mobile device 102.

In some embodiments, the communication management system 110 or apayload generator (e.g., 348 in FIG. 3) within the communicationmanagement system 110 generates (554) a payload for delivering the newlocal communication profile to the mobile device 102. The payloadincludes a new communication profile (e.g., a device identifier such asan IMSI and, optionally registration information such as a MSISDN) forthe new communication profile. The communication management system 110or a payload transmitter module (e.g., 350 in FIG. 3) in thecommunication management system 110 sends (555) the payload to a payloadtransmitter server (e.g., 112 in FIG. 1A) for delivery to the mobiledevice 102. The payload transmitter server 112 receives (556) thepayload. After receiving the payload, the payload transmitter server 112generates (558) a transmission vector (e.g., an SMS message with a dataportion that contains the payload) for the payload. In other words, thepayload transmitter server 112 assembles the payload received from thecommunication management system 110 into a format that can be deliveredto the mobile device 102 and will be recognized by the SIM card. In someembodiments the payload transmitter server 112 uses keys designated bythe SIM card manufacturer or the communication management system 110 toencrypt (559) the payload.

The payload transmitter server 112 delivers (560) the payload via thetransmission vector. For example, when the payload is formatted as anover-the-air SMS message with a data portion containing the payload, theSMS message can be delivered via variety of delivery methods, such as byusing short message peer-to-peer protocol, a short message servicebroker, or SS7 based delivery. It should be understood that, inaccordance with some embodiments the payload transmitter server 112 isdistinct from the communication management system 110. In otherembodiments the payload transmitter server 112 is a part of thecommunication management system 110. In some embodiments the payload isdelivered directly to the mobile device 102. In accordance with otherembodiments, the payload is sent to the global cellular network operator106 for delivery to the mobile device 102. In these embodiments, theglobal cellular network operator 106 receives (562) the payload from theglobal cellular network operator 106 and transmits (563) the payload tothe mobile device 102 (e.g., in the form of a SMS message). In otherwords, in some embodiments, the communication management system 110sends the payload to the mobile device 102 via the global cellularnetwork operator 106, where the payload includes a local communicationprofile that enables the mobile device 102 to obtain access to a localcellular network operator, as described in greater detail below.

In some embodiments, after connecting to the global cellular networkoperator 106 and before receiving the new local communication profile(e.g., as a payload from the communication management system 110) fromthe communication management system 110 the mobile device 102 continuesto use the global communication profile to connect to the globalcellular network operator 106 to perform one or more communicationoperations (e.g., making/receiving phone calls, sending/receiving SMSmessages, sending/receiving data, etc.).

The mobile device 102 receives (566) the new local communication profile(e.g., a communication profile that satisfies the local accessrequirements) via the global cellular network operator 106. It should beunderstood that the new local communication profile is being transmittedto the mobile device 102 using the currently active communicationprofile of the mobile device 102 (e.g., the global communicationprofile). In other words, the mobile device 102 must be connected with acellular network operator in order to receive the new localcommunication profile. By connecting with the global communicationprofile (e.g., a communication profile for a cellular network operatorthat has a large service area) the mobile device 102 is very likely tobe able to connect to a cellular network operator, and, thus, is alsomore likely to be able to receive the new local communication profile.

In some embodiments, receiving the new local communication profileincludes receiving (567) the payload from the global cellular networkoperator. In some embodiments the payload is received as an SMS. In someembodiments the SMS is a binary SMS (e.g., and SMS that is not displayedon the mobile device, but instead causes the mobile device to performone or more of operations 566-574). In some embodiments, the mobiledevice 102 extracts (568) the new local communication profile from thepayload (e.g., by decrypting the payload using the designated keys).Once the local communication profile is available to the mobile device102, it is selected (570) by the mobile device 102 as the activecommunication profile for the mobile device 102. Continuing the exampledescribed above, in response to the request for the new localcommunication profile, the mobile device 102 receives an SMS over theglobal AT&T network that contains an AIRTEL communication profile.

In some embodiments, after selecting a communication profile (e.g., thenew local communication profile) as the active communication profile,the selected communication profile is moved (572) into the activelocation in the SIM card, as described in greater detail above. Afterthe selected communication profile has been moved into the activelocation in the SIM card, the mobile device 102 is reset (573).Continuing with the example described above, the mobile device 102 loadsthe AIRTEL communication profile (e.g., an IMSI associated with AIRTEL)into the active region of the SIM card of the mobile device 102 and,optionally, moves the global AT&T communication profile to a temporarystorage area on the SIM card.

The mobile device 102 connects (574) to the local cellular networkoperator 108 using the new local communication profile that was receivedvia the global cellular network operator 106. In some embodiments,connecting to the local cellular network operator 108 includesperforming one or more of operations 575-592. In some embodiments themobile device 102 sends (575) a request to connect with the localcellular network operator 108 using a local communication profile.Continuing the example from above, the mobile device 102 sends a requestto AIRTEL to register the mobile device 102 using the AIRTELcommunication profile.

In some embodiments, after receiving the request from the mobile device102, the local cellular network operator 108 verifies (576) the localcommunication profile. In some embodiments, such as embodiments wherethe local cellular network operator 108 manages the local communicationprofile, the local cellular network operator 108 handles theverification of the local communication profile at the local cellularnetwork operator, and registers (577) the mobile device 102 with thelocal cellular network operator 108 without involving a separatecommunication management system 110. In other embodiments, such asembodiments where a communication management system 110 manages thelocal communication profile, the local cellular network operator 108routes (578) the request from the mobile device 102 to a communicationmanagement system 110. In some embodiments, the request is routed to thecommunication management system 110 using (579) a network-specificaddress that is specific to the local cellular network operator 108, asdescribed in greater detail below with reference to FIGS. 6A-6B. Itshould be understood that typically, this network-specific address willbe different from the network-specific address used by the globalcellular network operator 106 that was discussed above.

The communication management system 110 receives (580), from the localcellular network operator 108, a request to connect the mobile device102 to the local cellular network operator 108 using a localcommunication profile. In other words, the communication managementsystem 110 receives a forwarded communication from the mobile device 102that indicates that the mobile device 102 is attempting to connect tothe local cellular network operator 108 (e.g., AIRTEL) using the localcommunication profile. In some embodiments, the request also indicatesthe location of the mobile device 102 (e.g., by including a mobilecountry code or a mobile network code). In some embodiments, thecommunication management system 110, or a signal routing gateway (e.g.,120 in FIG. 3) within the communication management system 110,translates (582) the network-specific address associated with therequest into an internal address for the server module that isassociated with the network-specific address.

In some embodiments, the request is generated with (e.g., an IMSI) andan authentication key (e.g., a Ki) (e.g., a random number generated byusing the Ki). The communication management system 110 or anauthentication module (e.g., 338 in FIG. 3) within the communicationmanagement system 110 authenticates (583) the request using the sameauthentication key (e.g., the Ki) that is associated with the localIMSI. If the request cannot be authenticated (e.g., if the random numbergenerated by the mobile device 102 and the random number generated bythe communication management system 110 are not matched), then therequest is rejected and the process ends. When the request is properlyauthenticated, then the communication management system 110 proceeds toprocess (584) the request. It should be understood that in someembodiments the authentication key (e.g., Ki) that is used toauthenticate the request to connect to the global cellular networkoperator 106 is identical to the authentication key (e.g., Ki) that isused to authenticate the request to connect to the local cellularnetwork operator 108 (e.g., because the global communication profile andthe local communication profile are both managed by the communicationmanagement system 110). In some embodiments, processing the requestincludes retrieving registration information (e.g., an MSISDN) that isassociated with the local cellular network operator 108 and preparing todeliver the registration information to the mobile device 102. Forexample, the HLR (e.g., 122 in FIG. 3) looks through subscriber identityinformation (e.g., 340 in FIGS. 3-4) and identifies, based on the localcommunication profile (e.g., the IMSI used by the mobile device 102)registration information (e.g., an MSISDN) that matches the localcommunication profile.

The server module (e.g., HLR 122 in FIG. 3) prepares to send a reply tothe mobile device 102, the reply including the registration information.In some embodiments, the communication management system 110 or a signalrouting gateway (e.g., 120 in FIG. 3) within the communicationmanagement system 110 translates (585) the reply by replacing aninternal address for the server module (e.g., HLR 122 in FIG. 3) withthe network-specific address for the server module (e.g., HLR 122 inFIG. 3) that was used to address the original request, as described ingreater detail below with respect to FIGS. 6A-6B.

The communication management system 110 sends (586) the reply, includingverification of the registration request and registration information(e.g., an MSISDN), to the local cellular network operator 108 fordelivery to the mobile device 102. In some embodiments, the reply isaddressed using (588) a network-specific address for the server module(e.g., the reply appears to be sent from a server module that has thesame network-specific address that was used to address the originalrequest). In other words, in some embodiments, the local cellularnetwork operator 108 is completely unaware of the existence of theinternal address for the server module (e.g., home location register 122in FIG. 3). In some embodiments, after receiving the reply from thecommunication management system 110, the local cellular network operator108 registers (577) the mobile device 102 with the local cellularnetwork operator 108 by routing (590) the reply from the communicationmanagement system 110 to the mobile device 102. In some embodiments, thereply uses (591) the network-specific address for the server module. Themobile device 102 receives (592) the registration information (e.g., anMSISDN) for the local cellular network operator 108 and is therebyenabled to connect to the local cellular network operator 108 as aregistered mobile device 102 (e.g., a mobile device 102 that can makeand receive phone calls, make and receive SMS/EMS/MMS messages and/orsend and receive data).

In some embodiments, after being connected to the local cellular networkoperator 108 as a registered mobile device 102, the mobile device 102makes/receives one or more phone calls, sends/receives one or moreSMS/EMS/MMS messages and/or sends/receives data using the localcommunication profile. In other words, once the mobile device 102 isregistered with the local cellular network operator 108, the mobiledevice 102 is capable of performing all of the standard functions of acellular phone. In particular, in some embodiments, the mobile device102 operates (593) as a local phone with a local phone number (e.g., alocal MSISDN) of the local cellular network operator 108 bycommunicating with another device via the local cellular operator. Insome embodiments, operating as a local phone includes making a phonecall using the local phone number (e.g., the local MSISDN). It should beunderstood that, in accordance with some embodiments, it is advantageousto operate as a local phone for at least the reason that: while thedevice is operating as a local phone, communications (e.g., phone calls,messaging, data transfer) that are made and received by the mobiledevice 102 are handled as local communications (e.g., the communicationsare not charged additional fees based on roaming agreements betweencellular network operators). In other words, while operating as a localphone, communications made by and received at the mobile device 102 arecheaper than analogous communications would be if the mobile device 102was operating as a roaming phone.

In some embodiments, after sending the reply to the local cellularnetwork 108 for delivery to the mobile device 102, the communicationmanagement system 110 checks (596) for additional information to send tothe mobile device 102, such as account status information and cellularnetwork operator information. In accordance with some embodiments, theaccount status information includes one or more of a local phone numberof the mobile device 102 (e.g., the new MSISDN), a prepaid account fundsbalance. In accordance with some embodiments, the cellular networkoperator information includes one or more of, a local support number, acalling rate for the local cellular network operator 108. Whenadditional information is identified by the communication managementsystem 110, the communication management system 110 sends (597) amessage to the mobile device 102 with at least a subset of theadditional information. In this way, the subscriber using the mobiledevice 102 is able to easily determine the current phone number of themobile device 102, to determine cost of communicating using the mobiledevice 102 and to receive support for the mobile device 102. Forexample, when the mobile device 102 enters a new country (e.g., India)and receives a new local communication profile and registers as a localmobile device 102, the communication management system 110 sends an SMSmessage to the mobile device 102 that provides the subscriber with oneor more of their new local phone number, a name of the local cellularnetwork operator 108, a service number for the local cellular networkoperator 108, a cost per minute of making phone calls, a cost permessage of sending SMS messages, and an amount of minutes/SMS messagesthat are available using funds from prepaid account.

In some embodiments, connecting to the global cellular network operatorusing the global communication profile includes connecting the mobiledevice 102 to the global cellular network operator 106 via one of afirst plurality of cellular nodes associated with the global cellularnetwork operator 106. In some embodiments, each cellular node in thefirst plurality of cellular nodes includes a single cellular towerconnected to the global cellular network operator 106. Similarly,connecting to the local cellular network operator 108 using the newlocal communication profile includes connecting the mobile device 102 tothe local cellular network operator 108 via one of a second plurality ofcellular nodes associated with the local cellular network operator 108.In some embodiments, each cellular node in the second plurality ofcellular nodes includes a single cellular tower connected to the localcellular network operator 108. In other words, in some embodiments, theglobal cellular network operator manages a plurality of cellular towers,and connecting with the global cellular network operator includesconnecting to a cellular tower managed by the global cellular networkoperator; and, in contrast, the local cellular network operator managesa plurality of cellular towers, and connecting with the local cellularnetwork operator includes connecting to a cellular tower managed by thelocal cellular network operator.

The advantage of connecting to the global cellular network operator isthat network coverage provided by the first plurality of cellular nodes(e.g., the cellular towers associated with the global cellular networkoperator 106) extends over a larger geographical area than networkcoverage provided by the second plurality of cellular nodes (e.g., thecellular towers associated with the local cellular network operator108). It should be understood that the first plurality of cellular nodesassociated with the global cellular network operator 106 may include oneor more cellular nodes operated by the global cellular network operator106 and one or more cellular nodes operated by partner cellular networkoperators with whom the global cellular network operator 106 has acellular node sharing agreement (i.e., a roaming agreement), asdescribed in greater detail above with reference to FIG. 1C. Moreover,in some embodiments, the first plurality of cellular nodes comprises oneor more cellular nodes from the second plurality of cellular nodes. Inother words, a local cellular network operator 108 may have a cellularnode sharing agreement (i.e., a roaming agreement) with the globalcellular network operator 106.

However, the large service area of the global cellular network operator106 is typically counterbalanced by a high cost of connecting with theglobal cellular network operator 106. In particular, typically, cellularnetwork access fees charged by the global cellular network operator 106for communications (e.g., making/receiving phone calls,sending/receiving SMS messages, and/or sending/receiving data) from arespective geographic region (e.g., India) are higher than cellularnetwork access fees charged by the local cellular network operator 108for communications from the respective geographic region (e.g., India).For example, the cost per minute of calling to the US from India using aglobal communication profile (e.g., the AT&T communication profile) maybe x dollars per minute, while the cost of calling to the US from Indiausing a local communication profile (e.g., the AIRTEL communicationprofile) is 0.5× dollars per minute (or less). Thus, even though thegeographic service area of the local cellular network operators 108 issmaller than the geographic service area of the global cellular networkoperator 106, it is frequently advantageous to connect with a localcellular network operator 108, if possible, so as to reduce the cost ofcommunications. In other words, while the mobile device 102 can connectwith either a local cellular network operator 108 or a global cellularnetwork operator 106, as described in greater detail above withreference to FIGS. 5A-5D, frequently it is advantageous (e.g., cheaper)to communicate while connected to a local cellular network operator 108than it is to communicate while connected to a global cellular networkoperator 106.

Additionally, it should be understood that, in some embodiments, themobile device 102 has a home communication profile. The homecommunication profile is associated with a home cellular networkoperator (e.g., 104 in FIG. 1A). The home cellular network operator 104is a primary cellular network operator for the subscriber. For example,the home cellular network operator 104 is the cellular network operatorthat handles the majority of the subscriber's communications (e.g., thesubscriber lives in the US and has a US based cellular network operatoras the home cellular network operator 104). Also, a home cellularnetwork operator 104 typically is the cellular network operator that hasbilling information for the subscriber and thus is the cellular networkoperator that the subscriber primarily interacts with. In theseembodiments, the mobile device 102 further comprises a homecommunication profile for connecting the mobile device 102 to the homecellular network operator 104. In some of these embodiments, the homecommunication profile (e.g., a home IMSI) is permanently stored in themobile device 102 (e.g., in the SIM card of the mobile device 102). Insome embodiments, the plurality of communication profiles (e.g., theglobal communication profile and the one or more local communicationprofiles) are managed by a communication management system 110, whilethe home communication profile is managed by the home cellular networkoperator 104.

Attention is now directed towards FIGS. 6A-6B, which illustrate aprocess 600 for dynamically providing communication profiles to a mobiledevice (e.g., 102 in FIG. 1A, 2) in accordance with some embodiments. Asdiscussed in greater detail above, in some embodiments, thecommunication management system (e.g., 110 in FIG. 1A, 3) is incommunication with a plurality of cellular network operators includingone or more of: a home cellular network operator 104, a global cellularnetwork operator 106 and one or more local cellular network operators108. In some embodiments, a plurality of the cellular network operatorscommunicate with server modules of the communication management system110 using network-specific addresses for the server modules. In theseembodiments, the communication management system 110 includes a signalrouting gateway (e.g., 120 in FIGS. 1A, 1D, 3) for managingcommunication between the cellular network operators and the servermodules, as described in greater detail below.

The communication management system 110 includes a server module (e.g.,HLR 122 in FIG. 3) and a signal routing gateway 120 that is connected toa plurality of cellular network operators (e.g., home cellular networkoperator 104, global cellular network operator 106 and/or one of thelocal cellular network operators 108). In some embodiments, the servermodule is a server module that provides services for connecting phonecalls to and/or from mobile devices 102 via a cellular network operator,such as a home location register (e.g., 122 in FIG. 3). In someembodiments, the server module is a server module that provides servicesfor sending messages to and/or from mobile devices 102 via a cellularnetwork operator that includes a short message service center (e.g., 128in FIG. 3). In some embodiments the server module is a server modulethat provides phone number relation information, for connecting phonecalls, such as a signal control point (e.g., 124 in FIG. 3). In someembodiments, the communication management system 110 includes the servermodule and one or more additional server modules, each server modulehaving: an internal address (e.g., 154 in FIG. 1D) that is used by thesignal routing gateway 120; a plurality of respective network-specificaddresses (e.g., 152 in FIG. 1D) that are used by respective cellularnetwork operators, as illustrated in FIG. 1D.

A first cellular network operator sends (602) a request that isaddressed to a server module (e.g., home location register 122 in FIG.3) using a network-specific address assigned to the server module inaccordance with an addressing scheme of the first cellular networkoperator (e.g., home cellular network operator 104, global cellularnetwork operator 106 and/or one of the local cellular network operators108). In some embodiments, a first cellular network operator (e.g., homecellular network operator 104, global cellular network operator 106and/or one of the local cellular network operators 108) has previouslyassigned, to the communication management system 110, a set ofcommunication profiles to be managed by the communication managementsystem 110; and the first request is sent to the server module (e.g.,HLR 122, SCP 124, or SMSC 128 in FIG. 1D) when the first request isassociated with a respective communication profile of the set ofcommunication profiles that was assigned to the communication managementsystem 110.

The signal routing gateway 120 of the communication management system110 receives (604) the first request from the first cellular networkoperator of the plurality of cellular network operators that isaddressed to a first network-specific address assigned to the servermodule (e.g., home location register 122 in FIG. 3) in accordance with afirst addressing scheme of the first cellular network operator (e.g.,home cellular network operator 104, global cellular network operator 106and/or one of the local cellular network operators 108).

In some embodiments, the first network-specific addressing scheme is anaddressing scheme of the first cellular network operator for addressingserver modules that are configured to perform functions that areanalogous to functions performed by the server module. In other words,the network-specific address for the home location register 122 of thecommunication management system 110 is selected in accordance with theaddressing scheme that is used by the first cellular network operator toaddress a home location register of the first cellular network operator.Thus, requests from the first cellular network operator can be directedto server modules within the communication management system 110 withminimal effort by the cellular network operator. For example, addressingrequests to server modules of the communication management system 110 isaccomplished by substituting the address of the native home locationregister of the first cellular network operator for the network-specificaddress of the home location register 122 of the communicationmanagement system 110.

In response to the first request, the signal routing gateway 120replaces (606) the first network-specific address with an internaladdress assigned to the server module in accordance with an internaladdressing scheme of the communication management system 110. In someembodiments, each network-specific address includes one or more of: anetwork-specific hardware identifier (e.g., a network-specific pointcode) and a network-specific communication address (e.g., anetwork-specific global title). In some embodiments, the internaladdress is a hardware address (e.g., an internal point code). In someembodiments the internal address is paired with an internalcommunication address that is associated with a cellular networkoperator (e.g., an internal global title). In some embodiments, aninternal hardware address (e.g., an internal point code) for arespective server module is the same for all requests to the respectiveserver module (e.g., a request relayed from a first cellular networkoperator to the server module and a request relayed from second cellularnetwork operator to the same server module would both use the samecommon point code for the server module). In some embodiments, arespective server module has multiple internal communication addresses(e.g., internal global titles) and a respective internal communicationaddress (e.g., internal global title) for the respective server moduleis the same for all requests to the respective server module from asingle cellular network operator but a different internal communicationaddress is used for each different cellular network operator (e.g., arequest relayed from a first cellular network operator to the servermodule would use a first internal global title and a request relayedfrom second cellular network operator to the same server module woulduse a second internal global title that is distinct from the firstinternal global title).

In some embodiments, in conjunction with replacing the firstnetwork-specific address with the internal address the signal routinggateway 102 adds (607) a first internal communication address that isassociated with the first cellular network operator to the request. Inother words, in these embodiments, the modified request includes both aninternal hardware address (e.g., the common internal hardware addressfor the server module) and a first internal communication address (e.g.,an internal communication address that is associated with the firstcellular network operator).

In some embodiments, the signal routing gateway 120 obtains (608), fromthe server module, a first response to the first request. The firstresponse is addressed from the internal address. In some embodiments,the first response is obtained by performing operations 610-618. Thus,in some embodiments, the signal routing gateway 120 sends (610) thefirst request to the server module using an internal address for theserver module. In some embodiments, the first request also uses thefirst internal communication address (e.g., the first internal globaltitle) for the server module. The server module receives (612) therequest from the signal routing gateway 120, generates (614) a response,and sends a reply to the signal routing gateway 120 using (616) theinternal address for the server module as the “sent from” address. Thesignal routing gateway 120 receives (618) the reply from the servermodule.

In some embodiments, after obtaining the first response from the servermodule, the device determines (619), based on the first internalcommunication address, that the response is directed to the firstnetwork-specific address. In other words, the first internalcommunication address (e.g., the first internal global title) is used toidentify the first request as having originated from the first cellularnetwork operator so that the response can be sent back to the firstcellular network operator (e.g., the cellular network operator fromwhich the first request was originally received). After obtaining thefirst response from the server module, the signal routing gateway 120replaces (620) the internal address for the server module with the firstnetwork-specific address for the server module. The signal routinggateway 120 sends (622) the reply to the first cellular networkoperator.

As one example of this signal routing process, cellular network operatorA (e.g., local cellular network operator 108-1 in FIG. 1D) sends arequest addressed from “Operator A” to “PC21, GT21.” The signal routinggateway 120 changes the header of the request so that it is addressedfrom “Operator A” to “PC1, GT4” and passes the request to the servermodule (e.g., HLR 122 in FIG. 1D). The server module generates aresponse to the request and sends the response to the signal routinggateway 120 addressed from “PC1, GT4” to “Operator A.” The signalrouting gateway 120 changes the header of the response so that it isaddressed from “PC21, GT21” to “Operator A” and passes the response tocellular network operator A. Thus, network-specific address for theserver module is replaced with the internal address (e.g., internalhardware address PC1) for the server module for the incoming request andthe internal address (e.g., internal hardware address PC1) for theserver module is replaced with the network-specific address for theserver module for the outgoing response.

Additionally, it should be understood that this process can be repeatedfor one or more additional cellular network operators that send requeststo the same (or different) server modules. In particular, the signalrouting gateway 120 receives (604) a second request from a secondcellular network operator of the plurality of cellular networkoperators, in an analogous manner to that described above with referenceto the first cellular network operator. The second request is addressedto a second network-specific address assigned to the server module inaccordance with a second addressing scheme of the second cellularnetwork operator. In some embodiments, the second network-specificaddressing scheme is an addressing scheme of the second cellular networkoperator for addressing server modules that are configured to performfunctions that are analogous to functions performed by the servermodule, in an analogous manner to the addressing scheme of the firstcellular network operator, as described in greater detail above.

In response to the second request, the signal routing gateway 120replaces (606) the second network-specific address with the internaladdress, in an analogous manner to that described above with referenceto the first cellular network operator. In some embodiments, inconjunction with replacing the second network-specific address with theinternal address the signal routing gateway 102 adds (607) a secondinternal communication address that is associated with the secondcellular network operator to the request. In other words, in theseembodiments, the modified request includes both the internal hardwareaddress (e.g., the common internal hardware address for the servermodule) and a second internal communication address (e.g., an internalcommunication address that is associated with the second cellularnetwork operator). The signal routing gateway 120 obtains (608) from theserver module a second response to the second request, where the secondresponse is addressed using the internal address, in an analogous mannerto that described above with reference to the first cellular networkoperator. However, in some embodiments, instead of using the firstinternal communication address, the second request includes the secondinternal communication address for the server module (e.g., the secondrequest includes the global title that is associated with the secondcellular network operator).

In some embodiments, after obtaining the second response from the servermodule, the device determines (619), based on the second internalcommunication address, that the response is directed to the secondnetwork-specific address. In other words, in these embodiments, thesecond internal communication address (e.g., the second internal globaltitle) is used to identify the second request as having originated fromthe second cellular network operator so that the response can be sentback to the second cellular network operator (e.g., the cellular networkoperator from which the second request was originally received). Thesignal routing gateway 120 replaces (620) the internal address with thesecond network-specific address; and sends (622) the second response tothe second cellular network operator, in an analogous manner to thatdescribed above with reference to the first cellular network operator.

While many of the operations performed by the signal routing gateway 120are analogous for different cellular network operators, they aretypically not identical. For example, even when the first cellularnetwork operator and the second cellular network operator describedabove each send a request to the same server module (e.g., home locationregister 122), typically each cellular network operator will use adifferent network-specific address for the server module, and thus thesignal routing gateway 120 must have a record (e.g., stored in memory ofthe communication management system) the network-specific names assignedto a server module by each of the cellular network operators and mustalso have a record of (e.g., stored in memory of the communicationmanagement system) of the cellular network that sent a particularrequest so that the response that is related to the particular requestcan be directed back to the cellular network that sent the particularrequest.

Continuing the example from above, cellular network operator B (e.g.,local cellular network operator 108-N in FIG. 1D) sends a requestaddressed from “Operator B” to “PC31, GT31.” The signal routing gateway120 changes the header of the request so that it is addressed from“Operator B” to “PC1, GT7” and passes the request to the server module(e.g., HLR 122 in FIG. 1D). The server module generates a response tothe request and sends the response to the signal routing gateway 120addressed from “PC1, GT7” to “Operator B.” The signal routing gateway120 changes the header of the response so that it is addressed from“PC31, GT31” to “Operator B” and passes the response to cellular networkoperator B. Thus, network-specific address for the server module isreplaced with the internal address (e.g., internal hardware address PC1)for the server module for the incoming request and the internal address(e.g., internal hardware address PC1) for the server module is replacedwith the network-specific address for the server module for the outgoingresponse, even though the first network-specific address (e.g., PC21,GT21) of cellular network operator A for the server module (e.g., HLR122 in FIG. 1D) is different from the second network-specific address(e.g., PC 31, GT31) of cellular network operator B for the server module(e.g., HLR 122 in FIG. 1D). Additionally, it should be noted that atleast a portion of the internal address (e.g., internal hardware addressPC1) is the same for both the first request and the second request.

Additionally, in some embodiments, the signal routing gateway 120 alsostandardizes communication protocols used by cellular network operators.In some embodiments, the first cellular network operator (e.g., operatorA) uses a first communication protocol (e.g., an American NationalStandards Institute communication protocol) to send the first request,and the second cellular network operator (e.g., operator B) uses asecond communication protocol (e.g., an International TelecommunicationsUnion communication protocol) that is different and distinct from thefirst communication protocol. In some embodiments, the communicationmanagement system 110 or the signal routing gateway 120 of thecommunication management system 110 uses the first communicationprotocol to send the first response to the first cellular networkoperator, and uses the second communication protocol to send the secondresponse to the second cellular network operator. In other words, thesignal routing gateway 120 interprets multiple communication protocolsfrom multiple different cellular network operators, and transmitsresponses to each respective cellular network operator using therespective preferred communication protocol of the respective cellularnetwork operator. It should be understood that, although the termsfirst, second, etc. may be used herein to describe various elements,these elements should not be limited by these terms. These terms areonly used to distinguish one element from another. For example, a firstrequest could be termed a second request, and, similarly, a secondrequest could be termed a first request, without departing from thescope of the disclosed embodiments. In other words, the first requestand the second request are both requests, but they are not the samerequest.

It should be understood that, in accordance with other embodimentsdescribed herein, a mobile device 102 may have multiple differentcommunication profiles that are used to connect with multiple differentcellular network operators but are managed by a single communicationmanagement system 110. Thus, it is advantageous to have a signal routinggateway 120 that effectively allows each cellular network operator tocommunicate natively with the communication management system 110,thereby simplifying communications with each of the cellular networkoperators while ensuring that requests associated with differentcommunication profiles of a single mobile device 102 can be managed bythe single communication management system 110. Thus, it should beunderstood that, in some embodiments, the first request is a requestassociated with a first communication profile for a mobile device 102,and the second request is a request associated with a secondcommunication profile for the mobile device 102. In other words, in someembodiments, requests for multiple different communication profiles forthe same mobile device 102 are sent to the server module by twodifferent cellular network operators.

Attention is now directed towards FIGS. 7A-7D, which illustrate aprocess 700 for routing a call to a mobile device (e.g., 102 in FIGS.1A, 2) associated with multiple communication profiles using acommunication management system (e.g., 110 in FIGS. 1A, 3) in accordancewith some embodiments. As described herein, it should be understood thata previous cellular network operator (e.g., a cellular network operatorwith which the mobile device 102 was previously registered) could be anyof a home cellular network operator 104, a global cellular networkoperator 106 and/or a local cellular network operator 108. Similarly, acurrent cellular network operator (e.g., a cellular network operatorwith which the mobile device 102 is currently registered) could be anyof a home cellular network operator 104, a global cellular networkoperator 106 and/or a local cellular network operator 108.

In some embodiments, the previous cellular network operator sends (702)a request to register the mobile device 102 with the previous cellularnetwork operator using a communication profile managed by thecommunication management system 110. It should be understood thattypically a home cellular network operator 104 does not send such arequest to the communication management system (e.g., because the homecommunication profile is managed by the home cellular network operator104 rather than by the communication management system 110). However, inaccordance with some embodiments, the home cellular network operator isthe previous cellular network operator for the purposes of thediscussion of operations 716-742.

The communications management system 110 registers (704) the mobiledevice 102 with the previous cellular network operator, and provides(706) a communication profile to the mobile device 102 for connectingwith the previous cellular network operator. In some embodiments, theprocess for registering the mobile device 102 with a previous cellularnetwork operator is analogous to the registration process described ingreater detail above with reference to FIGS. 5A-5D. In some embodiments,the communication management system 110 stores (707) registrationinformation associated with the previous cellular network operator, theregistration information (e.g., a MSISDN) comprising a firstnetwork-specific identifier for the mobile device 102 that is specificto the first cellular network operator (e.g., the registrationinformation is stored in the subscriber identity information 340 of thehome location register 122 as illustrated in FIGS. 3-4). In someembodiments, the registration information is a phone number (e.g., aMSISDN) associated with the previous cellular network operator (e.g., aphone number which is used to identify the mobile device 102 by theprevious cellular network operator).

In some embodiments, the current cellular network operator sends (708) arequest to register the mobile device 102 with the current cellularnetwork operator using a communication profile managed by thecommunication management system 110. The communications managementsystem 110 registers (710) the mobile device 102 with the currentcellular network operator. While maintaining (712) registrationinformation for the previous cellular network operator, thecommunication management system 110 provides (714) a communicationprofile to the mobile device 102 for connecting with the currentcellular network operator. In some embodiments, the process forregistering the mobile device 102 with a current cellular networkoperator is analogous to the registration process described in greaterdetail above with reference to FIGS. 5A-5D. In some embodiments, thecommunication management system 110 stores (715) registrationinformation associated with the current cellular network operator, theregistration information (e.g., a MSISDN) comprising a secondnetwork-specific identifier for the mobile device 102 that is specificto the current cellular network operator (e.g., the registrationinformation is stored in the subscriber identity information 340 of thehome location register 122 as illustrated in FIGS. 3-4).

In some embodiments, the communication management system 110 or the homelocation register 122 within the communication management system 110stores subscriber information for the mobile device 102, and thesubscriber information comprises a set of communication profiles (e.g.,IMSIs) and registration information (e.g., MSISDNs) associated with themobile device 102. In accordance with some embodiments, the subscriberinformation includes the first communication profile and firstregistration information that are associated with a first cellularnetwork operator (e.g., an IMSI and an MSISDN associated with a globalcellular network operator). In some embodiments, the set ofcommunication profiles also includes the second communication profileand second registration information that are associated with a secondcellular network operator (e.g., an IMSI and an MSISDN associated with alocal cellular network operator).

In accordance with some embodiments, the communication management system110 does not have (716) an established protocol for forwardingregistration information of the mobile device 102 to the previouscellular network operator. In these embodiments, the communicationmanagement system 110 determines routing information for the mobiledevice 102 and passes the routing information to the previous cellularnetwork operator, as described in greater detail below with reference tooperations 744-774.

In accordance with other embodiments, the communication managementsystem 110 has (718) an established protocol for forwarding registrationinformation to the previous cellular network operator. In other words,in some embodiments, the communication management system 110 has apredetermined arrangement with the previous cellular network operatorthat specifies that whenever the mobile device 102 is registered withanother cellular network operator, the communication management system110 will send information about the registration of the mobile device102 to the previous cellular network operator. In other words, afterregistering the mobile device 102 with the current cellular networkoperator using the second communication profile, the communicationmanagement system 110 sends (720), to the previous cellular networkoperator, registration information associated with the secondcommunication profile. This registration information enables theprevious cellular network operator to request routing information thatis associated with the second communication profile directly from thecurrent cellular network operator with which the mobile device 102 isattached. In some embodiments, the registration information is sent tothe previous cellular network operator using a predetermined protocolsuch as an application programmer interface (API) that specifies howsuch information is to be formatted for use by the previous cellularnetwork operator.

In some embodiments, the previous cellular network operator receives(722) registration information for the mobile device 102 (e.g., anMSISDN and/or IMSI that are associated with the current cellular networkoperator). It should be understood that in accordance with someembodiments it is the home cellular network operator 104 for the mobiledevice 102 that has a protocol for forwarding the registrationinformation. At some point in time after the registration informationhas been received, the previous cellular network operator receives (724)a call for the mobile device 102 that is addressed using a communicationprofile that is managed by the previous cellular network operator (i.e.,a communication profile that is not managed by the communicationmanagement system 110). In other words, in some embodiments the previouscellular network operator is a home cellular network operator for themobile device 102, and thus manages a home communication profile, andconsequently the home cellular network operator authenticates allrequests for connection to the mobile device 102 that use the homecommunication profile.

In some embodiments, the previous cellular network operator forwards(725) the call to the mobile device 102 at the current cellular networkoperator using the registration information (e.g., the current MSISDNfor the mobile device 102). After receiving the call from the previouscellular network operator, the current cellular network operatordetermines (726) a call route to the mobile device 102 using theregistration information received from the previous cellular networkoperator. In some embodiments, determining the call route informationincludes requesting (728) routing information from the communicationmanagement system 110. Typically the request includes the currentregistration information (e.g. MSISDN) and/or communication profile(e.g., IMSI) for the mobile device 102. In some of these embodiments,the communication management system 110 receives (732) the request forrouting information for the mobile device 102, and determines (733)routing information (e.g., by retrieving the routing information from adevice register at the current cellular network operator, such as avisiting location register with which the mobile device 102 is currentlyattached). Typically, the routing information includes a mobile stationroaming number (MSRN) and/or other status generated by the mobileswitching center (MSC) associated with the device register with whichthe mobile device 102 is attached. In some of these embodiments, thecommunication management system 110 sends (734) the routing information(e.g., MSRN) to the current cellular network operator. Thus, in responseto the request for routing information, the current cellular networkoperator receives (736) the routing information from the communicationmanagement system 110.

In some embodiments, after receiving the routing information, thecurrent cellular network operator is able to connect (742) the call tothe mobile device 102 using the routing information. In accordance withsome embodiments, a mobile switching center within the current cellularoperator connects the call to the mobile device 102.

In accordance with some embodiments, the communication management system110 does not have an established protocol for forwarding registrationinformation of the mobile device 102 to the previous cellular networkoperator, the previous cellular network operator must request routinginformation when it is required in order to connect a call to the mobiledevice 102. In some embodiments, the previous cellular network operatorreceives (744) a call for mobile device 102 that is addressed using acommunication profile that is managed by the previous cellular networkoperator (e.g., is not managed by the communication management system110). In these embodiments, when the previous cellular network operatorreceives the call, the previous cellular network operator must determinewhether a route is available to the mobile device 102. In someembodiments, this determination is made using a communication profileand registration information managed by the previous cellular networkoperator. For example, when the previous cellular network operator isthe home cellular network, the home cellular network operator checks todetermine whether the mobile device 102 is currently connected to avisiting location register of the home cellular network operator beforerequesting routing information for the mobile device from thecommunication management system 110.

When a route is available (746) to the mobile device 102 through theprevious cellular network operator (e.g., the mobile device 102 isconnected to a visiting location register of the home cellular networkoperator), the previous cellular network operator determines (748)routing information for connecting the call to the mobile device 102 andconnects (749) the call to the mobile device 102 using the routinginformation.

However, if no route to the mobile device 102 is available (750) throughthe previous cellular network operator (e.g., the mobile device 102 isnot connected to any visiting location register of the home cellularnetwork operator), the previous cellular network operator sends (752) arequest to the communication management system 110 for routinginformation for the mobile device 102. The communication managementsystem 110 receives (754), from the previous cellular network operator,a request for routing information associated with a first communicationprofile of the mobile device 102. In some embodiments the firstcommunication profile is a non-active communication profile for themobile device 102 (e.g., a communication profile that the mobile device102 is not currently using to connect with a cellular network operator).In some embodiments the first communication profile is a communicationprofile that is associated with the previous cellular network operator.For example, if the previous cellular network operator is CHINAMOBILEand the current cellular network operator is AIRTEL, and the mobiledevice 102 was previously connected as a local mobile phone with acommunication profile for CHINAMOBILE, when CHINAMOBILE is unable tolocate the mobile device 102, CHINAMOBILE sends a request to thecommunication management system 110 for a route to the mobile device102. In this example, the request from CHINAMOBILE uses thecommunication profile that the mobile device 102 was using while it wasconnected with CHINAMOBILE, because CHINAMOBILE is not necessarily awareof any other communication profile associated with the mobile device102.

In some embodiments, after receiving the request, the communicationmanagement system 110 determines (755) that the first communicationprofile is not a currently active communication profile for the mobiledevice 102. When it is determined that the first communication profileis not a currently active communication profile for the mobile device102, the communication management system 110 searches (756) for thecurrently active communication profile for the mobile device 102. Insome embodiments there is only a single currently active communicationprofile for a mobile device 102. In some embodiments, searching for thecurrently active communication profile includes searching subscriberinformation (e.g., 340 in FIGS. 3-4) for a subscriber account that isassociated with the first communication profile and, after identifyingthe subscriber account that is associated with the first communicationprofile, determining a currently active communication profile associatedwith the subscriber account.

Thus, the communication management system 110 identifies (757), based onthe first communication profile, a second communication profile that isan active communication profile for the mobile device 102. In accordancewith some embodiments, the second communication profile is associatedwith a current cellular network operator for the mobile device 102 thatis distinct from the previous cellular network operator. For example,the communication management system 110 finds the first communicationprofile (e.g., the device identifier or registration information) insubscriber identity information (e.g., 340 in FIG. 4) for a first userand identifies the currently active communication profile (e.g., thecurrently active device identifier or registration information) for themobile device 102 associated with the subscriber identity information340 as the second communication profile.

After identifying the second communication profile, the communicationmanagement system 110 determines (758) routing information associatedwith the second communication profile. In some embodiments, determiningthe call route information includes requesting (760) routing informationfrom the current cellular network operator. Typically the requestincludes the current communication profile (e.g., device identifier suchas an IMSI and/or registration information such as a MSISDN) for themobile device 102. The current cellular network operator receives (762)the request for routing information for the mobile device 102, retrievesrouting information (e.g., from a device register such as a visitinglocation register with which the mobile device 102 is currentlyattached). Typically, the routing information includes a mobile stationroaming number (MSRN) and/or status associated with the device registerwith which the mobile device 102 is attached. The current cellularnetwork operator sends (764) the routing information (e.g., MSRN) to thecommunication management system 110. In response to the request forrouting information, the communication management system 110 receives(766) the routing information from the current cellular networkoperator. In other words, in some embodiments, the routing informationthat is determined by the communication management system 110 is routinginformation that was received from the current cellular networkoperator.

After determining routing information for the mobile device 102, thecommunication management system 110 sends (768), to the previouscellular network operator, a reply comprising the routing informationassociated with the second communication profile (e.g., the MSRNreceived from the current cellular network). The previous cellularnetwork operator receives (770) the current routing information for themobile device 102 and places (772) a call to the mobile device 102 usingthe received routing information. In other words, the previous cellularnetwork operator attempts to connect the call that was received for themobile device 102 using the first communication profile through currentcellular network operator by using the current routing information formobile device 102. The current cellular network operator receives thecommunication from the previous cellular network operator and connects(774) the call using the current routing information.

It should be understood that, in accordance with some embodiments, therequest for routing information is performed directly between thecommunication management system 110 and the current cellular networkoperator without any involvement by the previous cellular networkoperator 110. In fact, in some embodiments, the previous cellularnetwork operator is completely unaware that the mobile device 102 isassociated with the second communication profile. Rather, thecommunication management system 110 keeps track of the variouscommunication profiles of the mobile device 102 and manages the transferof routing information associated with the mobile device 102 betweendifferent cellular network operators. In some embodiments, the routinginformation is communication profile agnostic (i.e., it is not directlybased on any of the communication profiles of the mobile device 102).

Continuing the example from above where CHINAMOBILE receives a phonecall for a mobile device 102 that is currently connected with AIRTEL,the communication management system 110 requests routing information tothe mobile device 102 from AIRTEL using a communication profileassociated with AIRTEL. AIRTEL sends the routing information to thecommunication management system 110, which forwards the routinginformation to CHINAMOBILE. In some embodiments, because the routinginformation is communication profile agnostic, CHINAMOBILE is able toplace the phone call without needing to perform any additionaloperations to account for the fact that the mobile device 102 iscurrently connected with a different cellular network operator using adifferent communication profile.

While the operations have been described herein with respect to a singleprevious cellular network operator, it should be understood that therecan be any number of previous cellular network operators, each having adifferent communication profile that is associated with the mobiledevice 102. These multiple previous cellular network operators wouldeach process a call received for the mobile device 102 using therespective communication profile of the mobile device 102 that isassociated with the respective previous cellular network operator usingsteps that are analogous to the steps described above with respect to asingle previous cellular network operator. In some embodiments at leasta plurality these respective communication profiles are each a distinctrespective communication profile. Moreover, in addition to all of theoperations described above (e.g., the multi-communication profile callrouting operations), it should be understood that the mobile device 102would operate normally for the current cellular network operator (e.g.,a phone call that is directed to the mobile device 102 using thecommunication profile associated with the current cellular networkoperator would be routed to the mobile device 102 by the cellularnetwork operator using standard call routing procedures). Thus, oneadvantage of the arrangement described above is that it enables themobile device 102 to receive phone calls that are sent to the mobiledevice 102 using multiple different communication profiles associatedwith multiple different cellular network operators.

Continuing the example above, the mobile device 102 could have multiplecommunication profiles for previous cellular network operators (e.g.,CHINAMOBILE, VODAFONE, T-MOBILE, etc.) and a communication profile forthe current cellular network operator (e.g., AIRTEL), where eachcellular network operator has a different registration information(e.g., an MSISDN/phone number) for the mobile device 102. A call placedto any of the phone numbers associated with any of previous cellularnetwork operators (e.g., CHINAMOBILE, VODAFONE, T-MOBILE, etc.) isrouted to the mobile device 102 at the current cellular network operator(e.g., AIRTEL). Thus, the subscriber using the mobile device 102 wouldbe able to receive calls from any local phone number (e.g., MSISDN) withwhich the mobile device 102 was previously registered.

Attention is now directed towards FIGS. 8A-8B, which illustrate aprocess 800 for routing a call to a mobile device (e.g., 102 in FIGS.1A, 2) associated with multiple communication profiles using an emulateddevice register in accordance with some embodiments. In accordance withsome embodiments, a mobile device 102 is registered (802) with a currentcellular network operator (e.g., global cellular network operator 106,and/or local cellular network operator 108), as described in greaterdetail above with reference to FIGS. 5A-5D). In some embodiments themobile device 102 was previously registered with a previous cellularnetwork operator (e.g., home cellular network operator 104, globalcellular network operator 106, or local cellular network operator 108).

The communication management system (e.g., 110 in FIGS. 1A, 3) sends(804), to the previous cellular network operator, a notification thatindicates the presence of an emulated device register with which themobile device 102 is connected. In other words, the communicationmanagement system 110 appears to the previous cellular network operatoras another device register managing a range of communication profiles(e.g., IMSI and MSISDN) assigned to the communication management system110 by the previous cellular network operator. In some embodiments, theemulated device register appears, to the previous cellular networkoperator, to be a native device register associated with the previouscellular network operator. It should be understood that a typicalcellular network operator has a plurality of native device registers(e.g., a home location register and one or more visiting locationregisters), as described in greater detail above with reference to FIG.1B. Thus, the communication management system 110 can emulate one of thenative device registers using a server module that can be addressed in asimilar fashion to the device registers of the previous cellular networkoperator and provides responses in the format provided by the nativedevice registers of the previous cellular network operator. Inaccordance with some embodiments, requests addressed to the servermodule are processed by a signal routing gateway (e.g., 120 in FIG. 1D),as discussed in greater detail above with reference to FIGS. 1D and 6.In some embodiments, the device register of the previous cellularnetwork operator that is emulated by the emulated device register is(805) a visiting location register (VLR).

The previous cellular network operator registers (806) the emulateddevice register as a part of the previous cellular network operator, andnotes that the mobile device 102 is currently connected to the emulateddevice register. In other words, the emulated device register is treatedby the previous cellular network operator as a native device register(e.g., VLR) within the previous cellular network operator, and itappears to the previous cellular network operator, that the mobiledevice 102 is connected to the previous cellular network operator at theemulated device register. Thus, when the previous cellular networkoperator receives (808) a call for the mobile device 102, the previouscellular network operator determines whether the route to the mobiledevice 102 uses the emulated device register. When route does not use(810) the emulated device register (e.g., when the mobile device 102 isconnected to a device register that is operated by the previous cellularnetwork operator), the previous cellular network operator connects (812)the call using the route that does not use the emulated device register.In other words, if the mobile device 102 is connected directly with theprevious cellular network operator, the call is routed using thestandard routing procedures of the previous cellular network operator(e.g., using one of the native device registers).

However, if the route does (814) use the emulated device register, theprevious cellular network operator requests (815) routing informationfor the mobile device 102 from the emulated device register. Thecommunication management system 110 receives (816) the request forrouting information for the mobile device 102. It should be understoodthat, while the request for routing information is actually transferredto the communication management system 110, the previous cellularnetwork operator is not aware that the request for routing informationis being transferred outside of the network operated by the previouscellular network operator. Rather, to the previous cellular networkoperator, the request appears to have been sent to a device registercontrolled by the previous cellular network operator. In accordance withsome embodiments, the request is directed (818) to the home locationregister (e.g., 122 in FIG. 3) of the communication management system110 by the signal routing gateway (e.g., 120 in FIG. 3). It should beunderstood that, in accordance with some embodiments, the request thatis received from the previous cellular network operator uses a secondcommunication profile for the mobile device 102, the secondcommunication profile being associated with the previous cellularnetwork operator.

In some embodiments, after receiving the request, the communicationmanagement system 110 determines that the first communication profile isnot a currently active communication profile for the mobile device 102.When it is determined that the first communication profile is not acurrently active communication profile for the mobile device 102, thecommunication management system 110 searches for the currently activecommunication profile for the mobile device 102. In some embodimentsthere is only a single currently active communication profile for amobile device 102 at any one time. In some embodiments, searching forthe currently active communication profile includes searching subscriberinformation (e.g., 340 in FIGS. 3-4) for a subscriber account that isassociated with the first communication profile and, after identifyingthe subscriber account that is associated with the first communicationprofile, determining a currently active communication profile associatedwith the subscriber account. Thus, the communication management system110 identifies, based on the first communication profile, a secondcommunication profile that is an active communication profile for themobile device 102 (e.g., using the subscriber identity information 340as described in greater detail above). In accordance with someembodiments, the second communication profile is associated with acurrent cellular network operator for the mobile device 102 that isdistinct from the previous cellular network operator.

After receiving the request and, in some embodiments, identifying thesecond communication profile, the communication management system 110determines (820) routing information associated with the secondcommunication profile. In some embodiments, determining the call routeinformation includes requesting (824) routing information from thecurrent cellular network operator. In accordance with some embodiments,the request is from a home location register (e.g., 122 in FIG. 3) ofthe communication management system 110. Typically the request includesthe current registration information (e.g. MSISDN) and/or communicationprofile (e.g., IMSI) for the mobile device 102. The current cellularnetwork operator receives (824) the request for routing information forthe mobile device 102, retrieves routing information (e.g., from adevice register such as a visiting location register with which themobile device 102 is currently attached). In some embodiments, therequest to the current cellular network operator is directed to (826) adevice register such as a visiting location register (VLR) within thecurrent cellular network operator. Typically, the routing informationincludes a mobile station roaming number (MSRN) and/or device statuswith the current mobile switching center (MSC) with which the mobiledevice 102 is attached. The current cellular network operator sends(828) the routing information (e.g., MSRN status) to the communicationmanagement system 110. In response to the request for routinginformation, the communication management system 110 receives (830) therouting information from the current cellular network operator. In otherwords, in some embodiments, the routing information that is determinedby the communication management system 110 is routing information thatwas received from the current cellular network operator.

It should be understood that the current cellular network operator istypically unaware of the emulated device register. Rather, theinteraction of the current cellular network operator has its own deviceregisters, and thus does not need to request routing information from anemulated device register so long as the mobile device 102 is connectedto the current cellular network operator (e.g., connected to a deviceregister of the current cellular network operator). Instead, the currentcellular network operator responds to requests for routing informationto the mobile device 102. Consequently, while the previous cellularnetwork operator and the current cellular network operator both interactwith the communication management system 110, the communicationmanagement system 110 appears differently to each of the cellularnetwork operators. In particular, in some embodiments, the previouscellular network operator interacts with the communication managementsystem 110 as an emulated device register (e.g., an emulated VLR), whilethe current cellular network operator interacts with the communicationmanagement system 110 by receiving requests from a server module (e.g.,HLR 122 in FIG. 1A) of the communication management system 110 and hasno interaction with the emulated device register (e.g., the emulatedVLR).

In some embodiments, after determining routing information for themobile device 102, the home location register (e.g., 122 in FIG. 3) ofthe communication management system 110 transfers (830) the response tothe emulated device register, which sends (832), to the previouscellular network operator, a reply comprising the routing informationassociated with the second communication profile (e.g., the MSRNreceived from the current cellular network operator). The previouscellular network operator receives (834) the current routing informationfor the mobile device 102 from the emulated device register as thoughthe emulated device register were a native server module associated withthe previous cellular network operator. After receiving the routinginformation, the previous cellular network operator places (836) a callto the mobile device 102 using the received routing information. Inother words, the previous cellular network operator attempts to connectthe call that was received for the mobile device 102 using the firstcommunication profile at the previous cellular network operator throughcurrent cellular network operator using the current routing informationfor mobile device 102. The current cellular network operator receivesthe communication from the previous cellular network operator andconnects (838) the call using the current routing information.

It should be understood that, in accordance with some embodiments, therequest for routing information is performed directly between thecommunication management system 110 and the current cellular networkoperator without any involvement by the previous cellular networkoperator 110. In fact, in some embodiments, the previous cellularnetwork operator is completely unaware that the mobile device 102 isassociated with the second communication profile. Rather, thecommunication management system 110 keeps track of the variouscommunication profiles of the mobile device 102 and manages the transferof routing information associated with the mobile device 102 betweendifferent cellular network operators (e.g., using the subscriberidentity information 340 in the HLR 122 in FIGS. 3-4).

Moreover, in some embodiments, the previous cellular network operatoralso acts as though it is requesting routing information from a nativecomponent of its infrastructure (e.g., a native VLR). In accordance withsome embodiments, generating an emulated device register (e.g., anemulated VLR) for communicating routing information to a cellularnetwork operator is advantageous because it enables the cellular networkoperator to request and receive routing information using the internalprocedures that are already in place rather than generating new externalprocedures to handle requests for routing information to entities (e.g.,the communication management system 110) that are outside of thecellular network operator.

As an example of the operation of an emulated device register, a mobiledevice 102 which was previously connected with CHINAMOBILE while inChina is relocated to India and connects with AIRTEL. A communicationmanagement system 110 sends a communication to CHINAMOBILE indicatingthat there is a new device register (the emulated device register) thatis a part of the CHINAMOBILE network and that the mobile device 102 isconnected with the emulated device register. When CHINAMOBILE receives aphone call for the CHINAMOBILE phone number of mobile device 102,CHINAMOBILE queries the emulated device register for a route to themobile device 102 as though the emulated device register were a nativedevice register (e.g., a native VLR) of the CHINAMOBILE network. Thecommunication management system 110 receives the request, retrieves therouting information for the mobile device 102 from AIRTEL (e.g., bysubmitting a request from an HLR of the communication management system110 to a VLR of AIRTEL), and transmits the routing information toCHINAMOBILE via the emulated device register.

Attention is now directed towards FIGS. 9A-9C, which illustrate aprocess 900 for routing a message to a mobile device (e.g., 102 in FIGS.1A, 2) associated with multiple communication profiles by replacingcommunication profile information in the message in accordance with someembodiments. In accordance with some embodiments, the mobile device 102is registered with a current cellular network operator (e.g., globalcellular network operator 106, and/or local cellular network operator108), as described in greater detail above with reference to FIGS.5A-5D). In some embodiments the mobile device 102 was previouslyregistered with a previous cellular network operator (e.g., homecellular network operator 104, global cellular network operator 106, orlocal cellular network operator 108). In some embodiments, the mobiledevice 102 is associated with a first communication profile for theprevious cellular network operator and is also associated with a secondcommunication profile for the current cellular network operator. Inaccordance with some embodiments, these communication profiles and othersubscriber information is stored in a home location register (e.g., 122in FIGS. 3) of the communication management system 110, as described ingreater detail above.

In some embodiments, the previous cellular network operator, or a shortmessage service center within the cellular network operator, receives(902) a message (e.g., an SMS or EMS message) for delivery to the mobiledevice 102. The previous cellular network operator determines that themobile device 102 is connected with the communication management system(e.g., 110 in FIGS. 1A, 3), and sends (904) a request for a messageroute to the communication management system 110. The communicationmanagement system 110 receives (906), from a first cellular networkoperator, a request for routing information for a message (e.g., the SMSor EMS message) that is addressed to a mobile device 102 using a firstcommunication profile (e.g., a communication profile associated with theprevious cellular network operator).

In accordance with some embodiments, the communication management system110 determines (908) whether the mobile device 102 is connected to anycellular network operator using a communication profile managed by thecommunication management system 110. In some embodiments, when thecommunication management system 110 determines that the mobile device102 is not connected with the previous cellular network operator usingthe first communication profile, the communication management system 110searches for an active communication profile that is currently beingused by the mobile device 102. If the mobile device 102 is not (910)connected to any of the cellular network operators managed by thecommunication management system 110 (i.e., the communication managementsystem 110 does not have any route to the mobile device 102), then thecommunication management system 110 performs one or more operations inaccordance with subscriber preferences (e.g., from the subscriberaccounts 344 in FIG. 3), as described in greater detail below withreference to operations 946-962.

If the mobile device 102 is (912) connected to at least one of thecellular network operators (i.e., the communication management system110 has at least one available route to the mobile device 102), then thecommunication management system 110 determines what cellular networkoperator the mobile device 102 is connected with. In some embodiments,when the communication management system 110 determines that the mobiledevice 102 is connected to (916) the previous cellular network operator(e.g., the requesting cellular network operator) using the firstcommunication profile, the communication management system 110 respondsto the request by sending (918) routing information to route the messageto the mobile device 102 within the previous cellular network. Theprevious cellular network operator receives (920) the routinginformation for the message and delivers (922) the message to the mobiledevice 102 using the routing information.

However, in some embodiments, when the communication management system110 determines that the mobile device 102 is connected to (923) thecurrent cellular network operator (e.g., a cellular network operatorother than the requesting cellular network operator) using a secondcommunication profile (e.g., that is distinct from the firstcommunication profile), the communication management system 110 respondsto the request by retrieving the message, readdressing the message andforwarding the message to the current cellular network, as described ingreater detail below.

Specifically, in some embodiments, the communication management system110 requests (924), delivery of the message to the communicationmanagement system 110 from the previous cellular network operator. Insome embodiments, requesting delivery of the message to thecommunication management system 110 comprises sending (926) routinginformation to the previous cellular network operator that routes themessage to the communication management system 110. In other words, insome embodiments, the communication management system 110 communicatesdelivery instructions to the previous cellular network that indicatethat the mobile device 102 is connected with a SMSC (e.g., 128 in FIG.3) of the communication management system 110 even when the mobiledevice 102 is not actually connected with the SMSC of the communicationmanagement system 110. The previous cellular network operator receives(928) the request for delivery of the message to the communicationmanagement system 110, and in response transmits (930) the message tothe communication management system 110.

The communication management system 110 receives (932) the message fromthe first cellular network operator. In some embodiments, the message isaddressed (933) using the first communication profile (e.g., acommunication profile that is associated with the previous cellularnetwork operator, such as an MSISDN or phone number used by the previouscellular network operator to identify the mobile device 102). In someembodiments, after receiving the message, the communication managementsystem 110 modifies (934) the message by replacing a firstnetwork-specific identifier associated with the first communicationprofile (e.g., the communication profile associated with the previouscellular network operator) with a second network-specific identifierassociated with the second communication profile (e.g., thecommunication profile associated with the current cellular networkoperator).

In accordance with some embodiments, once the communication managementsystem 110 has received the message and modified the message, thecommunication management system 110 sends (940) the message to thesecond cellular network operator for delivery to the mobile device 102with a modified address. In some embodiments, the message is addressedusing the second communication profile (e.g., a communication profilethat is associated with the current cellular network operator, such asan MSISDN or phone number used by the current cellular network operatorto identify the mobile device 102). In some embodiments, the secondcommunication profile is distinct from the first communication profile.In other words, the communication management system 110 passes along thecontent of the message, but readdresses the message using thecommunication profile that is currently being used by the mobile device102, so as to ensure that the message will be properly delivered by thecurrent cellular network operator. The current cellular network operatorreceives (942) the modified message for delivery to the mobile device102 and delivers (944) the modified message to the mobile device 102.

As one example of this process, an SMS is originally addressed to themobile device 102 using a phone number (e.g., 130-1390-1111) associatedwith CHINAMOBILE is received by CHINAMOBILE, however the mobile device102 is currently connected with AIRTEL and is using phone number033-15327380. Thus, CHINAMOBILE forwards the SMS to the communicationmanagement system 110, the communication management system determinesthe current phone number (e.g., 130-1390-1111) for the mobile device 102based on the phone number that was originally used to address the SMS(e.g., 033-15327380). Subsequently, the communication management system110 replaces the 130-1390-1111 number with 033-15327380 and sends thereaddressed SMS to AIRTEL for delivery to the mobile device 102. Itshould be understood that, in accordance with some embodiments, merelyforwarding the message without modifying the address would result in thecurrent cellular network operator (e.g., AIRTEL) being unable to deliverthe message to the mobile device 102, because the current cellularnetwork operator (e.g., AIRTEL) does not have any way of matching thefirst communication profile (e.g., the CHINAMOBILE communicationprofile) with the mobile device 102.

In accordance with some embodiments, when the mobile device 102 is notconnected to any of the cellular network operators managed by thecommunication management system 110 (i.e., the communication managementsystem 110 determines that the mobile device 102 is not currently usingany of the plurality of communication managed by the communicationmanagement system 110), the communication management system 110 gets(946) delivery instructions for a message without an available route. Insome embodiments the delivery instructions are stored as subscriberpreferences in the subscriber accounts (e.g., 344 in FIG. 3) at thecommunication management system 110.

In some embodiments, the delivery instructions include instructions torespond (948) to the request for a route with a message indicating thatno route is available to the mobile device 102. The previous cellularnetwork operator receives (950) the message indicating that no route isavailable to the mobile device 102 through the communication managementsystem 110 and then handles (952) the message using the deliverypolicies of the previous cellular network operator. Typically, theprevious cellular network operator will hold the message for a period oftime, and re-try the procedure as described above, or simply drop themessage.

In accordance with some embodiments, even when a route to the mobiledevice 102 is not available at the communication management system 110,the communication management system 110 requests (954) delivery of themessage to the communication management system 110. It should beunderstood that, in some embodiments, receiving the message at thecommunication management system 110 even when the mobile device 102 isnot connected with a communication network managed by the communicationmanagement system 110 is advantageous, because the communicationmanagement system 110 typically monitors multiple differentcommunication profiles for the mobile device 102, and is thus morelikely than the previous cellular network operator to have a valid routeto the mobile device 102 in the future than that the previous cellularnetwork operator will have a valid route to the mobile device 102,because the previous cellular network operator is only aware of a singlecommunication profile for the mobile device 102.

In some embodiments, the communication management system 110 requests(954), delivery of the message to the communication management system110 from the previous cellular network operator. In some embodiments,requesting delivery of the message to the communication managementsystem 110 comprises sending (956) routing information to the previouscellular network operator that routes the message to the communicationmanagement system 110. In other words, in some embodiments, thecommunication management system 110 communicates delivery instructionsto the previous cellular network operator that indicate that the mobiledevice 102 is connected with an SMSC (e.g., 128 in FIG. 3) of thecommunication management system 110 even when the mobile device 102 isnot actually connected with the SMSC of the communication managementsystem 110. In some embodiments, the previous cellular network operatorreceives (958) the request for delivery of the message to thecommunication management system 110, and in response transmits (960) themessage to the communication management system 110. In some embodiments,the communication management system 110 receives (962) the message fromthe first cellular network operator.

In accordance with some embodiments, the communication management system110 identifies, based on the message, a home communication profileassociated with the mobile device 102. In some embodiments, the messageis addressed using the first communication profile (e.g., thecommunication profile associated with the previous cellular networkoperator), and the communication management system 110 finds thesubscriber identity information (e.g., 340 in FIGS. 3-4) associated withthe first communication profile and identifies a home communicationprofile within the subscriber identity information (e.g., a home IMSIand/or home MSISDN).

In some embodiments, the home communication profile is distinct from thecommunication profiles in the plurality of communication profiles. Insome embodiments, the home communication profile is not managed by thecommunication management system 110. In some embodiments the homecommunication profile is managed by the home cellular network operator.It should be understood that, in accordance with some embodiments, arespective communication profile is managed by the communicationmanagement system 110 when a request to register the mobile device 102for connection to a respective cellular network operator using therespective communication profile is relayed from the respective cellularnetwork operator to the communication management system 110 forauthentication (e.g., as illustrated with both the global communicationprofile and the local communication profile discussed above withreference to FIGS. 5A-5D).

In some embodiments, the subscriber preferences (e.g., deliveryinstructions) include instructions to retrieve the message from theprevious cellular network operator and process the message bycommunicating with the home cellular network operator (e.g., thecellular network operator that manages the home communication profile).In some embodiments, communicating with the home cellular networkoperator includes sending (964) the message to the home cellular networkoperator for delivery to the mobile device 102 (e.g., the message ismodified by replacing the first communication profile in the messagewith the home communication profile and the modified message is sent tothe home cellular network operator). In some embodiments, communicatingwith the home cellular network operator includes notifying the homecellular network operator that a message has been received andrequesting further instructions.

In some embodiments, the plurality of communication profiles (e.g., thefirst communication profile and the second communication profile) arecommunication profiles that have been temporarily assigned to the mobiledevice 102 by the communication management system 110, while the homecommunication profile is permanently associated with the mobile device102. As discussed in greater detail above, in some embodiments, the homecellular network operator is a primary cellular network operator for themobile device 102. Thus, typically, the mobile device 102 will connectto the home cellular network operator on a regular basis. As such, it isadvantageous to retrieve a message from the previous cellular networkoperator and deliver the message to the home cellular network operator,because the mobile device 102 is more likely to receive the message fromthe home cellular network operator than it is to receive the messagefrom the previous cellular network operator.

In some embodiments, the communication management system 110 stores(966) the message for later delivery to the mobile device 102. Forexample, the communication management system 110 stores the message forone week, or until the next time that the mobile device 102 connectswith a cellular network operator using a respective communicationprofile managed by the communication management system 110. In theseembodiments, when the communication management system 110 detects thatthe mobile device 102 has connected to a cellular network operator usingthe respective communication profile, the message is sent to thecellular network operator for delivery to the mobile device 102 (e.g.,the message is modified by replacing the first communication profile inthe message with the respective communication profile and the modifiedmessage is sent to the cellular network operator). In some embodimentsthe message is deleted (968), either immediately or after a period oftime has elapsed without the mobile device 102 connecting with acellular network operator using a communication profile managed by thecommunication management system 110.

Attention is now directed towards FIGS. 10A-10B, which illustrate aprocess 1000 for routing a message to a mobile device (e.g., 102 in FIG.1A, 2) associated with multiple communication profiles by managingforwarded messages in accordance with some embodiments. In accordancewith some embodiments, a mobile device 102 is registered with a currentcellular network operator (e.g., global cellular network operator 106,and/or local cellular network operator 108), as described in greaterdetail above with reference to FIGS. 5A-5D). In some embodiments themobile device 102 was previously registered with a previous cellularnetwork operator (e.g., home cellular network operator 104, globalcellular network operator 106, or local cellular network operator 108).In some embodiments, the mobile device 102 is associated with a firstcommunication profile for the previous cellular network operator and isalso associated with a second communication profile for the currentcellular network operator. In accordance with some embodiments, thesecommunication profiles and other subscriber information is stored in ahome location register (e.g., 122 in FIGS. 3) of the communicationmanagement system (e.g., 110 in FIGS. 1A, 3), as described in greaterdetail above.

In accordance with some embodiments, the previous cellular networkoperator has (1002) a predetermined message forwarding protocol forforwarding messages to the communication management system 110. Itshould be understood that typically the home cellular network operatoris the previous cellular network operator with a predetermined messageforwarding protocol. In these embodiments, when the previous cellularnetwork operator receives (1004) a message (e.g., an SMS/EMS) for themobile device 102, the previous cellular network operator determines ifany route is currently available to the mobile device 102. If a route is(1006) available to the mobile device 102, then the previous cellularnetwork operator delivers (1008) the message to the mobile device 102using the available route. However, if no route is available (1010) theprevious cellular network operator sends (1012) the message to acommunication management system 110 for delivery to the mobile device102 by the communication management system 110. It should be understoodthat, rather than merely asking the communication management system 110for routing information for the message, the previous cellular networkoperator sends (e.g., forwards) the message to the communicationmanagement system 110. Additionally, in some embodiments, when a messageis received for a mobile device 102 which the previous cellular networkoperator determines is associated with communication management system110, the message is also sent to the communication management system 110for delivery to the mobile device 102.

The communication management system 110 receives (1014), from theprevious cellular network operator (e.g., a home cellular networkoperator), a message (e.g., a forwarded message) addressed to a mobiledevice 102 using a communication profile for the mobile device 102,where the communication profile is associated with the previous cellularnetwork operator (e.g., the home cellular network operator). In someembodiments the previous cellular network operator has a predeterminedmessage forwarding protocol for forwarding messages to the communicationmanagement system 110 when the mobile device 102 is unreachable by theprevious cellular network operator.

After receiving the message, the communication management system 110determines whether the mobile device 102 is connected to any cellularnetwork operator using a communication profile that is managed by thecommunication management system 110. When the communication managementsystem 110 determines that the mobile device 102 is not connected (1016)to any cellular network operator (e.g., the mobile device 102 is notactively using a respective local communication profile of the pluralityof communication profiles managed by the communication management system110), the communication management system 110 performs one or moreoperations in accordance with subscriber preferences (e.g., from thesubscriber accounts 344 in FIG. 3), as described in greater detail belowwith reference to operations 1034-1044.

When the communication management system 110 determines that the mobiledevice 102 is (1018) connected to one of the cellular network operators(e.g., is actively using a respective local communication profile of theplurality of communication profiles managed by the communicationmanagement system 110), the communication management system 110 sendsthe message to the mobile device 102 using a communication profile ofthe plurality of communication profiles (e.g., a communication profileassociated with the current cellular network operator). In particular,after determining that the mobile device 102 is connected to one of theplurality of cellular network operators (e.g., using a communicationprofile managed by the communication management system 110) thecommunication management system 110 accepts (1020) the message anddetermines (1022) a route to the mobile device 102.

In some embodiments, the message is addressed using a firstcommunication profile (e.g., a communication profile associated with theprevious cellular network operator), and the mobile device 102 iscurrently connected with a current cellular network operator using asecond communication profile. In some of these embodiments, determininga route to the mobile device 102 includes identifying (1023) the secondcommunication profile based on the first communication profile (e.g.,using the subscriber identity information 340 in the HLR 122 of thecommunication management system 110), as described in greater detailabove with reference to FIGS. 7A-7D).

It should be understood that, in accordance with some embodiments, whenthe previous cellular network operator is the home cellular networkoperator, the first communication profile is a home communicationprofile that is managed by the home cellular network operator, while thesecond communication profile is a local communication profile that ismanaged by the communication management system 110 (e.g., for a localcellular network operator). Additionally, in some of these embodiments,the home communication profile is permanently associated with the mobiledevice 102; and the local communication profile is a communicationprofile that has been temporarily assigned to the mobile device 102 bythe communication management system 110. Additionally, as described ingreater detail above, it should be understood that a respectivecommunication profile of the plurality of communication profiles ismanaged by the communication management system 110 when a request toregister the mobile device 102 for connection to a respective cellularnetwork operator using the respective communication profile is relayedfrom the respective cellular network operator to the communicationmanagement system 110 for authentication.

In some embodiments, after determining a route to the mobile device 102,the communication management system 110 retrieves (1024) deliveryrequirements of the current cellular network operator (e.g., messagesize limits, message frequency limits, message formatting requirements).In some embodiments, current cellular network operator is associatedwith a second communication profile (e.g., a local communicationprofile), and sending the message to the mobile device 102 using thesecond communication profile includes sending (1026) the messagedirectly to the mobile device 102 using the second communicationprofile. In some embodiments, the second communication profile isassociated with a current cellular network operator (e.g., a localcellular network operator), and sending the message to the mobile device102 using the second communication profile includes sending (1028) themessage to the current cellular network operator, where the message isaddressed to the mobile device 102 using the second communicationprofile. In some of these embodiments, the current cellular networkoperator receives (1030) the message and delivers (1032) the message tothe mobile device 102.

In accordance with some embodiments, when the mobile device 102 is notconnected to any of the cellular network operators managed by thecommunication management system 110 (i.e., the communication managementsystem 110 determines that the mobile device 102 is not currently usingany of the communication profiles of the plurality of communicationprofiles managed by the communication management system 110), thecommunication management system 110 gets (1034) delivery instructionsfor a message without an available route. In some embodiments thedelivery instructions are stored as subscriber preferences in thesubscriber accounts (e.g., 344 in FIG. 3) at the communicationmanagement system 110.

In some embodiments, the delivery instructions include instructions torespond (1036) to the request for a route with a message notifying theprevious cellular network operator (e.g., the home cellular networkoperator) that the forwarded message will not be sent to the mobiledevice 102. In some embodiments, the notification is a rejection (1038)of the message. In some embodiments, the notification is a messageindicating that no route is currently available to the mobile device 102and that the message will be stored for later delivery. The previouscellular network operator receives (1040) the notification indicatingthat the message will not be sent to the mobile device 102 and thenhandles (1042) the message using the delivery policies of the previouscellular network operator. Typically, the previous cellular networkoperator will hold the message for a period of time, and re-try theprocedure as described above, or simply drop the message.

In some embodiments, the communication management system 110 stores(1044) the message for later delivery to the mobile device 102. Forexample, the communication management system 110 stores the message forone week or until the next time that the mobile device 102 connects witha cellular network operator using a respective communication profilemanaged by the communication management system 110. In theseembodiments, when the communication management system 110 detects thatthe mobile device 102 has connected to a cellular network operator usingthe respective communication profile, the message is sent to thecellular network operator for delivery to the mobile device 102 (e.g.,the message is modified by replacing the first communication profile inthe message with the respective communication profile and the modifiedmessage is sent to the cellular network operator). In some embodimentsthe message is deleted (1046), either immediately or after a period oftime has elapsed without the mobile device 102 connecting with acellular network operator using a communication profile managed by thecommunication management system 110.

As one example of some of the embodiments described above, a mobiledevice 102 has a home communication profile that is associated with ahome cellular network operator (e.g., CELLULARONE) and a localcommunication profile that is associated with a local cellular networkoperator (e.g., AIRTEL). When CELLULARONE receives an SMS for the mobiledevice 102 (addressed using the home communication profile) CELLULARONEfirst attempts to send the SMS via the CELLULARONE network. IfCELLULARONE is unable to deliver the SMS (e.g., because the mobiledevice 102 is not connected to any MSCNLR on the CELLULARONE network),then CELLULARONE forwards the SMS to the communication management system110 per a predefined forwarding policy. If the communication managementsystem 110 determines that the mobile device 102 is connected withAIRTEL, then the SMS is sent to AIRTEL for delivery to the mobile device102. However, if the communication management system 110 determines thatthe mobile device 102 is not currently connected with any cellularnetwork operator, then the communication management system 110 rejectsthe forwarded SMS that was received from CELLULARONE. Once the forwardedSMS has been rejected CELLULARONE can determine further actions to takewith respect to the message, per subscriber preferences.

It should be understood that the ability of the communication managementsystem 110 to accept automatically forwarded messages, and reject theautomatically forwarded messages when a mobile device 102 is unavailableis advantageous in accordance with some embodiments. In particular, theability to reject automatically forwarded messages gives thecommunication management system 110 access to messages that are sent tothe home communication network of a mobile device 102 and allows thosemessages to be forwarded to the mobile device 102 when the mobile device102 is available through the communication management system 110,without losing messages by forwarding them to the communicationmanagement system 110 when the mobile device 102 is not availablethrough communication management system 110. In other words, the abilityof the communication management system 110 to reject forwarded messagesreduces the problems associated with setting up a forwarding protocolfor forwarding messages to the communication management system 110 whenthe mobile device 102 is not available at the home cellular networkoperator (e.g., by ensuring that messages that are sent to thecommunication management system 110 when the mobile device 102 is notavailable through the communication management system 110 are not lost).

Attention is now directed towards FIGS. 11A-11D, which illustrate aprocess 1100 for adding funds to a prepaid account for a mobile device(e.g., 102 in FIG. 1A, 2) associated with multiple communicationprofiles in accordance with some embodiments. In accordance with someembodiments, a mobile device 102 is registered with a current cellularnetwork operator (e.g., global cellular network operator 106, and/orlocal cellular network operator 108), as described in greater detailabove with reference to FIGS. 5A-5D). In some embodiments the mobiledevice 102 has a prepaid account associated with a different cellularnetwork operator (e.g., home cellular network operator 104). In someembodiments, the mobile device 102 is associated with a communicationprofile for the current cellular network operator (e.g., a localcommunication profile for a local cellular network operator 108 or aglobal communication profile for a global cellular network operator 106)and is also associated with a communication profile for the currentcellular network operator (e.g., a home communication profile for thehome cellular network operator 104). In accordance with someembodiments, these communication profiles and other subscriberinformation is stored in a communication management system (e.g., 110 inFIGS. 1A, 3) or a HLR (e.g., 122 in FIGS. 3) of the communicationmanagement system 110, as described in greater detail above.

In some embodiments, the current cellular network operator (e.g., globalcellular network operator 106 or local cellular network operator 108)receives (1102) a communication from a mobile device 102. In someembodiments, the communication (e.g., a message such as an SMS or aphone call) is (1104) in accordance with a local payment protocol foradding funds to prepaid accounts associated with the current cellularnetwork operator. In some embodiments the current cellular networkoperator requests (1106) a route for the communication from acommunication management system 110. The communication management system110 receives (1108) the route request, determines (1110) a route for thecommunication and sends (1112) the route to the current cellular networkoperator. In some embodiments the route request and determination isperformed in accordance with the embodiments described in greater detailabove (e.g., with reference to FIGS. 7A-7D and/or 9A-9C). In someembodiments, the communication is routed back to the current cellularnetwork operator where the payment process is completed. For example,when the communication is an SMS message that includes an activationcode for adding funds to a prepaid account in accordance with protocolsof the current cellular network operator, the route for the SMS willdirect the SMS back to the current cellular network operator forprocessing in accordance with the local payment protocol.

The current cellular network operator completes (1114) a payment processfor adding funds to a prepaid account (e.g., by verifying that thecurrent cellular network operator has received 2000 Rupee to be added toa prepaid account that enables the mobile device 102 to make phone callsat 4 Rupee per minute and send texts at 10 Rupee per text). In someembodiments, the payment process uses (1116) a local payment protocolfor adding funds to prepaid accounts that is determined by the currentcellular network operator. In other words, the subscriber can add fundsto a central prepaid account managed by the home cellular networkoperator 104 using a local process for adding funds to prepaid accounts(e.g., the same payment process that would be used by a local mobiledevice that was associated with the current cellular network operator).

In some embodiments the current payment protocol includes (1118) directpayment to a current cellular network operator. For example, thesubscriber could take the mobile device 102 to a retail location of thecurrent cellular network operator, provide a payment at the store andhave an employee at the store complete the fund addition process eitherby entering an activation code into the phone or updating a database forthe current cellular network operator to indicate that the funds havebeen added to the prepaid account. As another example, the subscribercould access a website of the current cellular network operator and addfunds to the prepaid account via the website (e.g., using a creditcard).

In some embodiments the local payment protocol includes (1120) making aphone call from the mobile device 102 to a predetermined phone numberand entering an activation code. In some embodiments the local paymentprotocol includes (1122) sending a message (e.g., an SMS, EMS, etc.)from the mobile device 102 to a predetermined number where thepredetermined message includes an activation code. In accordance withsome embodiments, the local payment protocol includes a communication(e.g., a phone call or a message) from the mobile device 102 to thecurrent cellular network operator and the communication is routed by thecommunication management system 110 to the current cellular networkoperator. For example, a subscriber could purchase a fund addition cardfor the current cellular network operator (e.g., either directly fromthe current cellular network operator or at a resale location such as agrocery store). The subscriber would follow the instructions on the fundactivation card by calling a phone number or sending a text to a numberon the fund addition card, thereby instructing the current cellularnetwork operator to add funds to a prepaid account associated with thecommunication profile of the mobile device 102 that is associated withthe current cellular network operator (e.g., a local communicationprofile). However, in accordance with some embodiments, there is noprepaid account for the mobile device 102 that is managed by the currentcellular network operator (e.g., because the mobile device 102 only hasa prepaid account with the home cellular network operator 104).

In some embodiments, the current cellular network operator sends (1124)a communication to the communication management system 110 indicatingthat payment has been made for the mobile device 102 using acommunication profile associated with the current cellular network(e.g., a local communication profile). The communication managementsystem 110 receives (1126), from the current cellular network operator,the communication indicating that a payment has been made to the currentcellular network operator for a mobile device 102 using a communicationprofile associated with the current cellular network operator (e.g., alocal communication profile). In other words, the communicationmanagement system 110 is notified that the current cellular networkoperator has received a payment of funds and a request to use the fundsto “top-up” or add value to a prepaid account for the mobile device 102.

The communication management system 110 identifies (1127), based on thecommunication profile that is associated with the current cellularnetwork operator (e.g., the local communication profile), a homecommunication profile of the mobile device 102, the home communicationprofile is associated with a home cellular network operator 104. Inother words, the mobile device 102 has a plurality of differentcommunication profiles for a plurality of different cellular networkoperators, as described in greater detail above with reference to FIGS.5A-5D. Typically the home cellular network operator 104 is the cellularnetwork operator with which the subscriber has a permanent relationship,and which has a contract or other financial relationship with thesubscriber. In other words, the home cellular network operator 104 istypically a cellular network operator from which the subscriberpurchased the mobile device 102 or a SIM card for the mobile device 102.Thus, if the mobile device 102 has a prepaid account, the home cellularnetwork operator 104 typically manages that prepaid account. Additionaldistinguishing features of the home cellular network operator 104, inaccordance with some embodiments, are described in greater detail above.

It should be understood that, in accordance with some embodiments, thecommunication profile associated with the current cellular networkoperator (e.g., the local communication profile) is managed by thecommunication management system 110. Thus, communications directed toand from the mobile device 102 using the communication profileassociated with the current cellular network operator (e.g., the localcommunication profile) are authenticated by the communication managementsystem 110. For example, the communication management system 110determines whether the mobile device 102 has sufficient funds in aprepaid account to initiate or receive a respective communication. Incontrast, in some embodiments, the home communication profile (e.g., thecommunication profile associated with the home cellular network operator104) is managed by the home cellular network operator 104. Thus,communications directed to and from the mobile device 102 using the homecommunication profile are authenticated by the home cellular networkoperator 104. For example, the home cellular network operator 104determines whether the mobile device 102 has sufficient funds in aprepaid account to initiate or receive a respective communication.

In some embodiments, the communication management system 110 sends(1128) a request to the current cellular network operator to transfer atleast a portion of the payment received from the subscriber to thecommunication management system 102. The current cellular networkoperator receives (1130) the request and sends (1132) at least a portionof the payment to the communication management system 110. In someembodiments the payment sent by the current cellular network operator isthe whole payment received from the subscriber. In some embodiments,only a portion of the payment is sent to the communication managementsystem 110, and the remainder of the payment received from thesubscriber is kept by the current cellular network operator to coverexpenses of the current cellular network operator. In accordance withsome embodiments, the communication management system 110 receives theportion of the payment from the current cellular network operator.

In some embodiments, after receiving the portion of the payment from thecurrent cellular network operator, the communication management system110 sends (1140) a request to add funds to a prepaid account that isassociated with the home communication profile of the mobile device 102to the home cellular network operator 104. In some embodiments, sendingthe request to add funds to a prepaid account includes applying (1142) aproper exchange rate to convert the currency in which the payment wasmade to a currency that is used by the home cellular network operator104. Applying an exchange rate in this manner is necessary primarilywhen payment is received from the current cellular network operator in afirst currency and the home cellular network operator 104 uses a secondcurrency for adding funds to prepaid accounts. In other words, when thepayment received by the current cellular network operator is denominatedin a first currency and the home cellular network operator 104 uses asecond currency for adding funds to prepaid accounts, transferring therequested funds to the home cellular network operator 104 includesconverting the portion of the payment from the first currency to thesecond currency. In some embodiments the request to add funds uses ahome payment protocol that is used by the home cellular network operator104 for adding funds to prepaid accounts. In other words, in someembodiments, the home cellular network operator 104 may have a protocolfor sending an SMS message to a particular number to add funds to aprepaid account, or making a phone call to a particular phone number toadd funds to the prepaid account. In some embodiments, the request toadd funds follows this home payment protocol. In other embodiments, thecommunication management system 110 has direct access (e.g., via anapplication programming interface) to the prepaid fund addition systemof the home cellular network operator 104, and can directly request thatfunds be added to the prepaid account associated with the homecommunication profile of the mobile device 102.

In accordance with some embodiments, the home cellular network operator104 receives (1146) the request to add funds to the prepaid account. Inresponse to the request, the home cellular network operator 104 adds(1148) the funds to the prepaid account. After adding the funds to theprepaid account, the home cellular network operator 104 sends (1150) anotification to the communication management system 110 indicating thatthe funds have been added to the prepaid account. The communicationmanagement system 110 receives (1151) the notification that funds havebeen added to the prepaid account. In accordance with some embodiments,the communication management system 110 manages the communications toand from the mobile device 102 while the mobile device 102 is connectedwith the current cellular network operator. Thus, it should beunderstood that, in some embodiments, the communication managementsystem 110 makes determinations as to whether the mobile device 102 hassufficient funds in the prepaid account to initiate or receivecommunications.

It should be understood that, in accordance with some embodiments, thetransfers of payment and addition of funds to a prepaid accountdescribed above with respect to operations 1128-1151 are merelytransfers of payment obligations from the current cellular networkoperator to the communication management system 110 and/or the homecellular network operator. For example, the current cellular networkoperator transfers the obligation to honor the additional prepaid fundsto the communication management system 110 and accepts an obligation totransfer the portion of the payment received from the subscriber to thecommunication management system 110. In some embodiments, the actualtransfer of currency is performed in real-time. In some embodiments, theactual transfer of currency is performed at a later time. In someembodiments the communication management system 110 manages the transferof currency. In some embodiments the transfer of currency is settled bya third-party financial clearinghouse. In some embodiments, a firsttransfer of currency takes place between the current cellular networkoperator and the communication management system 110, and a secondtransfer of currency takes place between the communication managementsystem 110 and a home cellular network operator 104 that manages theprepaid account for the mobile device 102. In some embodiments, thecurrency transfer occurs directly between the current cellular networkoperator and a home cellular network operator 104 that manages theprepaid account for the mobile device 102.

In accordance with some embodiments, after sending the request to addfunds to the prepaid account that is associated with the homecommunication profile of the mobile device 102, the communicationmanagement system 110 authorizes a phone call between the mobile device102 and another device and debits funds from the prepaid account basedon a cost of the phone call. More specifically, in some embodiments, thecurrent cellular network operator receives (1152) a call associated withthe mobile device 102 (e.g., either an incoming call to the mobiledevice 102 or an outgoing call to the mobile device 102). In response toreceiving the call, the current cellular network operator sends (1154) arequest to the communication management system 110 for authorization toconnect the call. Additionally, in some embodiments, the currentcellular network operator sends a request to the communicationmanagement system 110 for routing information or other informationmanaged by the communication management system 110 for the mobile device102.

The communication management system 110 receives (1156) the request anddetermines whether sufficient funds are available in the prepaid accountassociated with the mobile device 102. If sufficient funds are not(1158) available, then the method ends (1160) and no authorization issent to the current cellular network operator. In some embodimentseither the current cellular network operator or the communicationmanagement system 110 sends a notification to the mobile device 102indicating that the prepaid account does not have sufficient funds and,optionally, providing instructions to the mobile device 102 as to how toadd additional funds to the prepaid account.

If sufficient funds are (1162) available, the communication managementsystem 110 authorizes (1164) the call. The current cellular networkoperator receives (1166) the authorization and connects (1168) the call.In some embodiments, the current cellular network operator monitors(1170) the call (e.g., either monitoring a duration of the call and/ormonitoring a cost of the call). In some embodiments, once the call iscomplete the current cellular network operator sends (1172) a messageindicating the cost and/or duration of the call to the communicationmanagement system 110.

The communication management system 110 determines (1174) a cost of thecall either using information received from the current cellular networkoperator or based on information acquired directly by the communicationmanagement system 110 (e.g., by multiplying a duration of the call by aconnection rate and, optionally, a flat connection fee). Afterdetermining the cost of the call, the communication management system110 debits (1176) funds from the prepaid account (e.g., the prepaidaccount that is managed by the home cellular network operator 104) basedon the cost of the call. In some embodiments, debiting the funds fromthe prepaid account includes the communication management system 110sending a request to the home cellular network operator 104 to debit thefunds from a central prepaid account. The home cellular network operator104 receives (1180) the request to debit funds from the prepaid account,debits (1182) the funds from the prepaid account and sends (1184) anotification of the new balance of the prepaid account to thecommunication management system 110. The communication management system110 subsequently receives (1186) the notification of the new balance ofthe prepaid account for the mobile device 102, which can thereafter beused by the communication management system 110 to determine whether toauthorize further communications to and from the mobile device 102.While the preceding embodiments have been discussed primarily withrespect to authorizing a phone call, it should be understood that thereceipt or transmission of a message (e.g., SMS/EMS/MMS) could beauthorized in an analogous manner.

Additionally, it should be understood that, in accordance with someembodiments, the communication costs for the mobile device 102 aredetermined by the home cellular network operator 104. In particular,even the costs of communicating while connected with a local cellularnetwork operator 108 are determined by the home cellular networkoperator 104. For example, in one embodiment, the communication servicesof the local communication network(s) 108 are purchased by thecommunication management system 110 and sold to the home cellularnetwork operator 104 at bulk rates. In this example, home cellularnetwork operator 104 determines the retail rate for the communicationservices (e.g., sending/receiving phone calls, messages and/or data).

As one example of the foregoing, a prepaid subscriber has a mobiledevice 102 that is associated with a first carrier (e.g., CELLULARONE),where the mobile device has a prepaid account with a $50 balance that ismanaged by CELLULARONE. The mobile device 102 is transported to China,where the mobile device 102 is configured to operate as a local prepaidmobile device (e.g., by obtaining a local communication profile andregistering with a local cellular network operator such as CHINAMOBILEas a local prepaid mobile device). While the mobile device 102 is inChina using the CHINAMOBILE communication profile, the mobile device 102uses the funds in the prepaid account that is managed by CELLULARONE(e.g., because the communication management system 110 that is incommunication with both CELLULARONE and CHINAMOBILE authorizescommunications on the CHINAMOBILE network based on the funds in thecentral prepaid account managed by CELLULARONE). Once the funds in theCELLULARONE prepaid account have been exhausted, the subscriberpurchases a fund addition card at a CHINAMOBILE retail store, followsthe instructions on the fund addition card (e.g., by placing a phonecall to a CHINAMOBILE service number and entering an activation code),and funds are added to the CELLULARONE prepaid account (e.g., asmediated by the communication management system 110).

In other words, in accordance with some embodiments, a single centralprepaid account managed by a home cellular network operator 104 isassociated with the mobile device 102 even when the mobile device 102 isconnected with a local cellular network operator 108 and is using alocal communication profile that is associated with the local cellularnetwork operator 108. One advantage of having a single prepaid accountis that all of the funds added by the subscriber to the prepaid accountwhile using the mobile device 102 go to a single account, whicheliminates the need for the subscriber to separately add prepaid fundsto different accounts for different cellular network operators andavoids the problem of transferring funds between prepaid accountsmanaged by different cellular network operators when the mobile device102 switches from using a communication profile associated with onecellular network operator to using a communication profile associatedwith another cellular network operator (e.g., switching between cellularnetwork operators at a mobile device 102 in accordance with theembodiments described above with reference to FIGS. 5A-5D).

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the disclosed system and method to the precise forms disclosed.Many modifications and variations are possible in view of the aboveteachings. The embodiments were chosen and described in order to bestexplain the principles of the disclosed system and method and itspractical applications, to thereby enable others skilled in the art tobest utilize the disclosed system and method and various embodimentswith various modifications as are suited to the particular usecontemplated.

What is claimed is:
 1. A method for adding funds to a prepaid account ata home cellular network operator of a mobile device comprising: at acommunication management system having one or more processors andmemory: receiving, from a local cellular network operator, acommunication indicating that a payment has been made to the localcellular network operator for a mobile device using a localcommunication profile; identifying, based on the local communicationprofile, a home communication profile of the mobile device, wherein thehome communication profile is associated with a home cellular networkoperator that is distinct from the local cellular network operator; andsending, to the home cellular network operator, a request to add fundsto a prepaid account that is associated with the home communicationprofile of the mobile device.
 2. The method of claim 1, furthercomprising: authorizing a phone call between the mobile device andanother device; and debiting funds from the prepaid account based on acost of the phone call.
 3. The method of claim 1, wherein the payment ismade to the local cellular network operator using a local paymentprotocol that is used by the local cellular network operator for addingfunds to prepaid accounts.
 4. The method of claim 3, wherein the localpayment protocol includes a user of the mobile device providing paymentat a retail location operated by the local cellular network operator. 5.The method of claim 3, wherein the local payment protocol includes aphone call made by the mobile device to a predetermined telephone numberand submitting an activation code.
 6. The method of claim 3, wherein thelocal payment protocol includes a message sent by the mobile device to apredetermined telephone number, wherein the message includes anactivation code.
 7. The method of claim 3, wherein the local paymentprotocol includes a communication from the mobile device to the localcellular network operator and the communication is routed by thecommunication management system to the local cellular network operator.8. The method of claim 1, wherein the request to add funds uses a homepayment protocol that is used by the home cellular network operator foradding funds to prepaid accounts.
 9. The method of claim 1, wherein thelocal communication profile is managed by the communication managementsystem.
 10. The method of claim 9, wherein the home communicationprofile is managed by the home cellular network operator.
 11. The methodof claim 1, wherein the mobile device is associated with a plurality ofdistinct communication profiles including the home communication profileand the local communication profile.
 12. The method of claim 1, furthercomprising: sending a request to the local cellular network operator totransfer at least a portion of the payment to the communicationmanagement system; receiving the portion of the payment; andtransferring the portion of the payment to the home cellular networkoperator.
 13. The method of claim 12, wherein: the payment received bythe local cellular network operator is denominated in a first currency;the home cellular network operator uses a second currency for addingfunds to prepaid accounts; and transferring the requested funds to thehome cellular network operator comprises converting the portion of thepayment from the first currency to the second currency.
 14. Acommunication management system comprising: one or more processors;memory; and one or more programs, wherein the one or more programs arestored in the memory and configured to be executed by the one or moreprocessors, the one or more programs including instructions for:receiving, from a local cellular network operator, a communicationindicating that a payment has been made to the local cellular networkoperator for a mobile device using a local communication profile;identifying, based on the local communication profile, a homecommunication profile of the mobile device, wherein the homecommunication profile is associated with a home cellular networkoperator that is distinct from the local cellular network operator; andsending, to the home cellular network operator, a request to add fundsto a prepaid account that is associated with the home communicationprofile of the mobile device.
 15. A computer readable storage mediumstoring one or more programs configured for execution by one or moreprocessors of a communication management system, the one or moreprograms comprising instructions which, when executed by the one or moreprocessors cause the communication management system to: receive, from alocal cellular network operator, a communication indicating that apayment has been made to the local cellular network operator for amobile device using a local communication profile; identify, based onthe local communication profile, a home communication profile of themobile device, wherein the home communication profile is associated witha home cellular network operator that is distinct from the localcellular network operator; and send, to the home cellular networkoperator, a request to add funds to a prepaid account that is associatedwith the home communication profile of the mobile device.